[llvm-commits] [PATCH] Emit ARM EHABI unwinding instructions for 2 more Thumb instructions

Evgeniy Stepanov eugeni.stepanov at gmail.com
Thu Jan 19 04:27:38 PST 2012


Second iteration. With a test and one more instruction.
Btw, I could not find any ehabi tests in LLVM. Is this the first?

On Wed, Jan 18, 2012 at 7:24 PM, James Molloy <james.molloy at arm.com> wrote:
> Hi,
>
> --help-hidden will show options like -disable-fp-elim. Apart from that, a grep and some time!
>
> Cheers,
>
> James
>
> -----Original Message-----
> From: Evgeniy Stepanov [mailto:eugeni.stepanov at gmail.com]
> Sent: 18 January 2012 15:17
> To: James Molloy
> Cc: Anton Korobeynikov; llvm-commits at cs.uiuc.edu
> Subject: Re: [llvm-commits] [PATCH] Emit ARM EHABI unwinding instructions for 2 more Thumb instructions
>
> Ok, I've got it. The missing option was -disable-fp-elim.
>
> Is there a general recipe for finding out things like this?
>
> And thanks, running with -mtriple=thumbv7 uncovered even more
> unsupported instructions.
>
> On Wed, Jan 18, 2012 at 6:43 PM, James Molloy <james.molloy at arm.com> wrote:
>> Hi,
>>
>> Just checking, are you testing Thumb1 or Thumb2?
>>
>> Because v4t uses thumb1. You'd want V6 or V7 for Thumb2 - you want "-triple=thumbv7" (not -march, as I erroneously said before).
>>
>> Cheers,
>>
>> James
>>
>> -----Original Message-----
>> From: Evgeniy Stepanov [mailto:eugeni.stepanov at gmail.com]
>> Sent: 18 January 2012 14:26
>> To: James Molloy
>> Cc: Anton Korobeynikov; llvm-commits at cs.uiuc.edu
>> Subject: Re: [llvm-commits] [PATCH] Emit ARM EHABI unwinding instructions for 2 more Thumb instructions
>>
>> Yes, I did something along these lines. I meant "< 1.ll" at the end of
>> the llc command.
>>
>> Unfortunately, the llc command does not fail. Must be some other
>> option or setting by the clang driver? (btw, it says -march=thumbv7 is
>> invalid; I'm using -march=thumb instead).
>>
>> For the reference, 1.ll:
>>
>> ; ModuleID = '1.ii'
>> target datalayout =
>> "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:32-n32-S64"
>> target triple = "thumbv4t--linux-gnueabi"
>>
>> define void @_Z1fv() nounwind {
>> entry:
>>  ret void
>> }
>>
>> define void @_Z1gv() nounwind {
>> entry:
>>  call void @_Z1fv()
>>  ret void
>> }
>>
>> On Wed, Jan 18, 2012 at 6:18 PM, James Molloy <james.molloy at arm.com> wrote:
>>> Hi Evgeniy,
>>>
>>> If I understand you correctly, you have some C code and you want to create
>>> an equivalent llc command so your testcase doesn't rely on clang?
>>>
>>> If so:
>>>
>>> Clang -ccc-host-triple thumb-linux-gnueabi -S -emit-llvm 1.ii -o 1.ll
>>> Llc -march=thumbv7 -arm-enable-ehabi -O0 1.ll -o -
>>>
>>> Llc acts on IR input, not C code.
>>>
>>> Hope this helps,
>>>
>>> James
>>>
>>> -----Original Message-----
>>> From: llvm-commits-bounces at cs.uiuc.edu
>>> [mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Evgeniy Stepanov
>>> Sent: 18 January 2012 14:14
>>> To: Anton Korobeynikov
>>> Cc: llvm-commits at cs.uiuc.edu
>>> Subject: Re: [llvm-commits] [PATCH] Emit ARM EHABI unwinding instructions
>>> for 2 more Thumb instructions
>>>
>>> Hm, I've got a problem here. Maybe you can help me?
>>>
>>> The following fails:
>>>
>>> # cat 1.ii
>>> void f() {
>>> }
>>> void g() {
>>>    f();
>>> }
>>> # ./Release+Asserts/bin/clang -ccc-host-triple arm-linux-gnueabi 1.ii
>>> -S -mthumb  -mllvm -arm-enable-ehabi
>>>
>>> How do I build an llc command line?
>>> The naive
>>>
>>> ./Release+Asserts/bin/llc -march=thumb -arm-enable-ehabi -O=0 <1.ii
>>>
>>> does not expose the bug.
>>>
>>> On Wed, Jan 18, 2012 at 4:29 PM, Anton Korobeynikov <asl at math.spbu.ru>
>>> wrote:
>>>> Hi Evgeniy
>>>>
>>>>> And here is the patch.
>>>> Yes, but please add the testcase, so they won't be missed in the future.
>>>>
>>>> --
>>>> With best regards, Anton Korobeynikov
>>>> Faculty of Mathematics and Mechanics, Saint Petersburg State University
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ehabi.patch
Type: text/x-patch
Size: 1499 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120119/f6a10484/attachment.bin>


More information about the llvm-commits mailing list