[llvm-commits] [llvm] r46659 - in /llvm/trunk: include/llvm/CodeGen/ include/llvm/Target/ lib/CodeGen/ lib/CodeGen/SelectionDAG/ lib/Target/ lib/Target/ARM/ lib/Target/Alpha/ lib/Target/CellSPU/ lib/Target/IA64/ lib/Target/Mips/ lib/Target/PowerPC/ lib/Target/Sparc/ lib/Target/X86/ utils/TableGen/

Chris Lattner clattner at apple.com
Fri Feb 1 20:13:43 PST 2008


On Feb 1, 2008, at 8:07 PM, Evan Cheng wrote:
> URL: http://llvm.org/viewvc/llvm-project?rev=46659&view=rev
> Log:
> SDIsel processes llvm.dbg.declare by recording the variable debug  
> information descriptor and its corresponding stack frame index in  
> MachineModuleInfo. This only works if the local variable is "homed"  
> in the stack frame. It does not work for byval parameter, etc.
> Added ISD::DECLARE node type to represent llvm.dbg.declare  
> intrinsic. Now the intrinsic calls are lowered into a SDNode and  
> lives on through out the codegen passes.
> For now, since all the debugging information recording is done at  
> isel time, when a ISD::DECLARE node is selected, it has the side  
> effect of also recording the variable. This is a short term solution  
> that should be fixed in time.

Nifty!  Out of curiosity, why do you need a DECLARE MachineInstr?  It  
seems like the 'recording' happens when the target-independent dag is  
selected to target-specific instructions, no?

-Chris



More information about the llvm-commits mailing list