On Feb 25, 2013, at 5:02 PM, John McCall <[email protected]> wrote:

> On Feb 25, 2013, at 4:55 PM, Adrian Prantl <[email protected]> wrote:
>> here’s another patch for review:
>> 
>> Allocate stack storage for .block_descriptor and captured self.
>> This way the register allocator will not optimize away the the
>> debug info for captured variables.
> 
> Allocating stack storage is not the right way to fix this problem.
> The frontend is emitting the right intrinsics to say that the argument
> is being kept in an LLVM value, not in memory.  If that's not working,
> then basically all optimized debug info is useless.

Just to provide you with more details: The problem manifested itself even at 
-O0 because the DebugValue would be kicked out by RegAllocFast.cpp:855 under 
high register pressure (I think). Is there another, better way to force the 
DebugValue to survive register allocation?

—- adrian
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to