[LLVMdev] Using CallingConvLower in ARM target

Xerxes RĂ„nby xerxes at zafena.se
Thu Apr 16 04:37:51 PDT 2009


Greetings Sandeep

I have tested crosscompiling llvm2.6 svn trunk 69279 + your patch for 
armv7a hardware.
I wanted to see if it would build and if any unexpected failing tests in 
the testsuite would start to work using your patch.

It built fine and your attached tests in the patch runs fine for me :)

Now something fun this Generic test now works that previously failed:

$ llvm-as < 
test/CodeGen/Generic/multiple-return-values-cross-block-with-invoke.ll | llc
    .file    "<stdin>"


    .text
    .globl    foo
    .align    2
foo:
    stmfd sp!, {r4, r5, lr}
    mov r4, r1
    mov r5, r0
    bl wild
.LBB1_1:    @ normal
    stmia r5, {r0, r1}
    stmia r4, {r2, r3}
    ldmfd sp!, {r4, r5, pc}
    .size foo, .-foo

Some failing tests have now gotten better error reporting than before:

$ llvm-as < test/CodeGen/Generic/select-cc.ll | llc
Formal argument #0 has unhandled type i64
Stack dump:
0.    Program arguments: llc
1.    Running pass 'ARM Instruction Selection' on function '@vector_select'
Aborted

$ llvm-as < test/CodeGen/X86/dagcombine-buildvector.ll | llc
Formal argument #1 has unhandled type i64
Stack dump:
0.    Program arguments: llc
1.    Running pass 'ARM Instruction Selection' on function '@test'
Aborted

I have tested this on a overo-earth ti omap3 hardware
Linux overo 2.6.28-omap1 #1 Mon Mar 2 08:40:39 PST 2009 armv7l unknown

Cheers, and have a great day!
Xerxes

Sandeep Patel skrev:
> After wasting an inordinate amount of time trying to get test-suite to
> run on arm-apple-darwin so I could reproduce your results, attached is
> a patch that fixes the small copy&paste error of having 8-byte
> alignment for stack-allocated f64s instead of the proper 4-byte. I've
> updated the patch to the top of trunk changes as well.
>
> deep
>   



More information about the llvm-dev mailing list