[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/

Evan Cheng evan.cheng at apple.com
Sat Feb 2 00:03:16 PST 2008


On Feb 1, 2008, at 8:13 PM, Chris Lattner wrote:

> 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?

Right. They are not necessary now. But I think eventually I'd like to  
see all the debug information be represented in MI's and have Dwarf  
writer process them. Right now it's left in as a visual debugging guide.

Evan

>
>
> -Chris
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list