[llvm-commits] [llvm] r106299 - in /llvm/trunk: lib/Target/ARM/ARMISelLowering.cpp test/CodeGen/ARM/call-tc.ll test/CodeGen/ARM/ifcvt6-tc.ll test/CodeGen/ARM/insn-sched1-tc.ll test/CodeGen/ARM/ldm-tc.ll test/CodeGen/Thumb2/thumb2-call-tc.ll test/CodeGen/Thumb2/thumb2-ifcvt1-tc.ll

Dale Johannesen dalej at apple.com
Mon Jun 21 10:32:33 PDT 2010


On Jun 20, 2010, at 11:12 PMPDT, Evan Cheng wrote:
>>
>>> A few more comments:
>>>
>>> Please add a test case of an immediate call to a local function:
>>>
>>> define void @f() {
>>>        ret void
>>> }
>>>
>>> define void @t4() {
>>>        tail call void @f()
>>>        ret void
>>> }
>>>
>>> On Darwin ARM, this will generate b.w. That's wrong. The .w suffix  
>>> is for Thumb mode.
>>
>> Anton was claiming that too, but I don't believe it.  A8.2 says .w  
>> "has no effect" when targeting ARM, and the Darwin assembler duly  
>> ignores it, correctly IMO.
>
> Even if the Darwin assembler ignores it, it's still weird. The ".w"  
> suffix only makes sense in Thumb mode, can you fix it?

I am not saying this is OK because the Darwin assembler ignores it, I   
am saying it is conformant with the spec.  Did you look at A8.2?

> Also, I suspect the llvm integrated assembler won't like it.

Then it should be fixed.




More information about the llvm-commits mailing list