[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