[PATCH] Arm: Don't define a label twice with two setjmps in a function.
Jim Grosbach
grosbach at apple.com
Thu May 7 11:22:22 PDT 2015
Makes sense. I knew that’s what happened for the asm parser and such, but didn’t realize the asm streamer did it too. That’s a bit odd.
In any case, it does that because a) it’s convenient and b) that’s how the directional labels were originally documented to work for gas (as input; output from the compiler can obviously be whatever). I’m not a fan of either reason, personally, but haven’t cared enough to do something about it. What we have isn’t really wrong, per se.
-Jim
> On May 7, 2015, at 11:19 AM, Matthias Braun <matze at braunis.de> wrote:
>
> That's because for some reason the MC layer does not emit directional labels if you use the directional label API but creates new labels with unique names instead.
>
>> On May 7, 2015, at 11:14 AM, Jim Grosbach <grosbach at apple.com> wrote:
>>
>>
>>> On May 7, 2015, at 11:10 AM, Matthias Braun <matze at braunis.de> wrote:
>>>
>>>
>>>> On May 7, 2015, at 7:37 AM, John Brawn <john.brawn at arm.com> wrote:
>>>>
>>>>> Simply do what the comment in ARMAsmPrinter says and use directional labels.
>>>>
>>>>
>>>> Which comment would that be? I had a look in both ARMAsmPrinter.h and ARMAsmPrinter.cpp and could find no mention of directional labels.
>>> The comment immediately above the code sequence uses directional label syntax:
>>>
>>> // Two incoming args: GPR:$src, GPR:$val
>>> // mov $val, pc
>>> // adds $val, #7
>>> // str $val, [$src, #4]
>>> // movs r0, #0
>>> // b 1f
>>> // movs r0, #1
>>> // 1:
>>>
>>
>>
>> The regex in the testcase doesn’t seem to be looking for that form? "[[LABEL:L[a-zA-Z0-9]+]]"
>> _______________________________________________
>> 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