[llvm-commits] [llvm] r83207 - /llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Chris Lattner
clattner at apple.com
Mon Jan 4 10:59:28 PST 2010
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
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100104/3aa8036e/attachment.html>
More information about the llvm-commits
mailing list