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

Chris Lattner clattner at apple.com
Fri Jan 15 14:51:24 PST 2010


ping?

On Jan 4, 2010, at 10:59 AM, Chris Lattner wrote:

>
> On Jan 4, 2010, at 8:55 AM, Devang Patel wrote:
>
>>
>> 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.
>
> DbgScope still maintains these as instance variables.  I see that it  
> is now an asmprinter local data structure, so we can't have pointer  
> invalidation issues.  However, we still have memory use to consider.
>
>>> 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.
>
> How many DbgScopes are created?
>
> -Chris
>
>> 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
>>>
>>
>
> _______________________________________________
> 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/20100115/5120c8f0/attachment.html>


More information about the llvm-commits mailing list