What the compiler does in each specific case will depend on the compiler implementation, the current optimization level, the exact workings of optimizations in effect at that point, and more.
But basically, lvalue to rvalue conversion corresponds to reading the memory content (roughly representing the rvalue) from the address it is stored at (roughly representing the lvalue).