[llvm-commits] [llvm] r83207 - /llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp

Devang Patel dpatel at apple.com
Mon Jan 4 08:55:46 PST 2010


On Jan 3, 2010, at 9:22 PM, Chris Lattner wrote:

> On Oct 1, 2009, at 2:35 PM, Evan Cheng wrote:
>> Can't we compute these on demand so codegen passes don't have to  
>> change these?
>
> Devang, I never saw an answer to this.

Now, we compute this just before asmprint.

> I have serious concerns about DbgScope and the presence of two  
> MachineInstr*'s that can dangle seems very dubious.

DbgScope is representing lexical scopes for debug info. This info is  
collected based on debug info attached with MachineInstr. DbgScope  
keeps MachineInstr                       so that we can avoid printing  
labels until the instruction is printed.

-
Devang
>
> -Chris
>
>>
>> Evan
>>
>> On Oct 1, 2009, at 2:25 PM, Devang Patel wrote:
>>
>>>
>>> On Oct 1, 2009, at 1:38 PM, Dan Gohman wrote:
>>>
>>>>
>>>> On Oct 1, 2009, at 11:25 AM, Devang Patel wrote:
>>>>
>>>>> Author: dpatel
>>>>> Date: Thu Oct  1 13:25:23 2009
>>>>> New Revision: 83207
>>>>>
>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=83207&view=rev
>>>>> Log:
>>>>> Record first and last instruction of a scope in DbgScope.
>>>>
>>>> How does this interact with Post-RA scheduling, MachineLICM, and  
>>>> MachineHoist?
>>>
>>> It depends on when we run this DwarfDebug pass. Today, at iSel  
>>> time we put the stake in the ground and emit label node (or  
>>> instruction) to mark scope boundaries. In future,  this will be  
>>> divided into three steps
>>>
>>> 1 - Just before AsmPrinter, the DwarfDebug will note down scope  
>>> boundaries in DbgScope based on info attached with an machine  
>>> instruction.
>>> 2 - @processDebugLoc() in AsmPrinter the labels will be emitted to  
>>> mark scope boundaries and DW will be updated according.
>>> 3 - At the end, the scope DIEs will be created based on DbgScope  
>>> entries.
>>>
>>> So MachineLICM will have as much freedom as standard LICM.
>>>
>>> -
>>> Devang
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100104/be88d101/attachment.html>


More information about the llvm-commits mailing list