[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