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
