[llvm-commits] [PATCH] Emit ARM EHABI unwinding instructions for 2 more Thumb instructions
James Molloy
james.molloy at arm.com
Wed Jan 18 06:43:22 PST 2012
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
>
>
>
>
More information about the llvm-commits
mailing list