[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