[patch] Fix pr24486

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 8 10:18:54 PDT 2015


This has a few failures:

    LLVM :: CodeGen/Mips/DbgValueOtherTargets.test
    LLVM :: DebugInfo/Mips/InlinedFnLocalVar.ll
    LLVM :: DebugInfo/Mips/delay-slot.ll
    LLVM :: DebugInfo/Mips/fn-call-line.ll
    LLVM :: DebugInfo/Mips/prologue_end.ll


What I think is needed is a more invasive change from Section to
Fragment. So for example,

 MCStreamer::AssignSection

Would become

 MCStreamer::assignFragment

and there wouldn't be a single dummy fragment. The asm streamer would
create one for each section it creates.

Cheers,
Rafael


On 7 September 2015 at 11:55, Maxim Ostapenko
<m.ostapenko at partner.samsung.com> wrote:
> Hi, Rafael!
>
> Thanks again for your patch.
>>
>> Oh, and an updated (all targets) patch is attached.
>>
>> On 24 August 2015 at 10:11, Rafael EspĂ­ndola <rafael.espindola at gmail.com>
>> wrote:
>>>
>>> I just realized that this is not enough. The issues is that when using
>>> the asm streamer we still have to make sure that in
>>>
>>> a:
>>> b = a
>>>
>>> b is considered defined.
>>>
>>> It might be possible to do this in two ways:
>>>
>>> * Have the asm streamer use dummy fragments.
>>> * Instead of saving the section or fragment of a symbol, save the base
>>> symbol if any (for b it is a). Without the first change this would
>>> require an extra bit in MCSymbol and I am not sure that we have it.
>>>
>>> I will not have the time to work on it any time soon. Maxin, can you
>>> give it a try?
>
>
> I've rebased your patch on top of master and tried to follow the way you
> suggested about asm streamer. I've created a special DummyFragment to mark
> local aliases as defined variables in MCAsmStreamer and set in
> AsmPrinter::doFinalization for all variable aliases. Is that what you meant
> in your suggestion? Or maybe I misunderstood you?
>
> This patch works fine for me and passed make check on
> x86_64-unknown-linux-gnu as well as simple bootstrap (I've rebuilt clang
> three times by itself).
>
> Thanks,
> -Maxim


More information about the llvm-commits mailing list