Summary:
This enables debugger to display de-referenced value of pointer in case temporary is optimized out. It happens in case of reference. This patch need to include some compile time option to enable/disable.
Testing:
-Added unit test for validation thru llvm-dwarfdump
-check-llvm (LLDB need to be modifed to support this)
-check-debuginfo (the debug info integration tests)
I think this probably still needs some design discussion on the llvm-dev design thread (I know I'm mostly slacking there) - specifically the "can only appear at the beginning" seems like it misses the case I brought up on the thread about multiple levels of indirection.