| Index: tests_lit/llvm2ice_tests/int-arg.ll
|
| diff --git a/tests_lit/llvm2ice_tests/int-arg.ll b/tests_lit/llvm2ice_tests/int-arg.ll
|
| index 76c2abe535b3d08e6655755bf36b05edc90e9584..c59f0c8b295a62b1a69cd8f3ca536ecdaf94cb55 100644
|
| --- a/tests_lit/llvm2ice_tests/int-arg.ll
|
| +++ b/tests_lit/llvm2ice_tests/int-arg.ll
|
| @@ -2,7 +2,7 @@
|
| ; calling convention for integers.
|
|
|
| ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
|
| -; RUN: --target x8632 -i %s --args -O2 \
|
| +; RUN: --target x8632 -i %s --args -O2 -allow-externally-defined-symbols \
|
| ; RUN: | %if --need=target_X8632 --command FileCheck %s
|
|
|
| ; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented)
|
| @@ -11,6 +11,7 @@
|
| ; RUN: %if --need=target_ARM32 --need=allow_dump \
|
| ; RUN: --command %p2i --filetype=asm --assemble \
|
| ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \
|
| +; RUN: -allow-externally-defined-symbols \
|
| ; RUN: | %if --need=target_ARM32 --need=allow_dump \
|
| ; RUN: --command FileCheck --check-prefix ARM32 %s
|
|
|
| @@ -21,7 +22,7 @@
|
|
|
| ; i32
|
|
|
| -define i32 @test_returning32_arg0(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| +define internal i32 @test_returning32_arg0(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| entry:
|
| ret i32 %arg0
|
| }
|
| @@ -31,7 +32,7 @@ entry:
|
| ; ARM32-LABEL: test_returning32_arg0
|
| ; ARM32-NEXT: bx lr
|
|
|
| -define i32 @test_returning32_arg1(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| +define internal i32 @test_returning32_arg1(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| entry:
|
| ret i32 %arg1
|
| }
|
| @@ -43,7 +44,7 @@ entry:
|
| ; ARM32-NEXT: bx lr
|
|
|
|
|
| -define i32 @test_returning32_arg2(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| +define internal i32 @test_returning32_arg2(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| entry:
|
| ret i32 %arg2
|
| }
|
| @@ -55,7 +56,7 @@ entry:
|
| ; ARM32-NEXT: bx lr
|
|
|
|
|
| -define i32 @test_returning32_arg3(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| +define internal i32 @test_returning32_arg3(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| entry:
|
| ret i32 %arg3
|
| }
|
| @@ -67,7 +68,7 @@ entry:
|
| ; ARM32-NEXT: bx lr
|
|
|
|
|
| -define i32 @test_returning32_arg4(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| +define internal i32 @test_returning32_arg4(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| entry:
|
| ret i32 %arg4
|
| }
|
| @@ -79,7 +80,7 @@ entry:
|
| ; ARM32-NEXT: bx lr
|
|
|
|
|
| -define i32 @test_returning32_arg5(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| +define internal i32 @test_returning32_arg5(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| entry:
|
| ret i32 %arg5
|
| }
|
| @@ -92,7 +93,7 @@ entry:
|
|
|
| ; i64
|
|
|
| -define i64 @test_returning64_arg0(i64 %arg0, i64 %arg1, i64 %arg2, i64 %arg3) {
|
| +define internal i64 @test_returning64_arg0(i64 %arg0, i64 %arg1, i64 %arg2, i64 %arg3) {
|
| entry:
|
| ret i64 %arg0
|
| }
|
| @@ -103,7 +104,7 @@ entry:
|
| ; ARM32-LABEL: test_returning64_arg0
|
| ; ARM32-NEXT: bx lr
|
|
|
| -define i64 @test_returning64_arg1(i64 %arg0, i64 %arg1, i64 %arg2, i64 %arg3) {
|
| +define internal i64 @test_returning64_arg1(i64 %arg0, i64 %arg1, i64 %arg2, i64 %arg3) {
|
| entry:
|
| ret i64 %arg1
|
| }
|
| @@ -116,7 +117,7 @@ entry:
|
| ; ARM32-NEXT: mov r1, r3
|
| ; ARM32-NEXT: bx lr
|
|
|
| -define i64 @test_returning64_arg2(i64 %arg0, i64 %arg1, i64 %arg2, i64 %arg3) {
|
| +define internal i64 @test_returning64_arg2(i64 %arg0, i64 %arg1, i64 %arg2, i64 %arg3) {
|
| entry:
|
| ret i64 %arg2
|
| }
|
| @@ -130,7 +131,7 @@ entry:
|
| ; ARM32-NEXT: ldr r1, [sp, #4]
|
| ; ARM32-NEXT: bx lr
|
|
|
| -define i64 @test_returning64_arg3(i64 %arg0, i64 %arg1, i64 %arg2, i64 %arg3) {
|
| +define internal i64 @test_returning64_arg3(i64 %arg0, i64 %arg1, i64 %arg2, i64 %arg3) {
|
| entry:
|
| ret i64 %arg3
|
| }
|
| @@ -146,7 +147,7 @@ entry:
|
|
|
| ; Test that on ARM, the i64 arguments start with an even register.
|
|
|
| -define i64 @test_returning64_even_arg1(i32 %arg0, i64 %arg1, i64 %arg2) {
|
| +define internal i64 @test_returning64_even_arg1(i32 %arg0, i64 %arg1, i64 %arg2) {
|
| entry:
|
| ret i64 %arg1
|
| }
|
| @@ -160,7 +161,7 @@ entry:
|
| ; ARM32-NEXT: mov r1, r3
|
| ; ARM32-NEXT: bx lr
|
|
|
| -define i64 @test_returning64_even_arg1b(i32 %arg0, i32 %arg0b, i64 %arg1, i64 %arg2) {
|
| +define internal i64 @test_returning64_even_arg1b(i32 %arg0, i32 %arg0b, i64 %arg1, i64 %arg2) {
|
| entry:
|
| ret i64 %arg1
|
| }
|
| @@ -173,7 +174,7 @@ entry:
|
| ; ARM32-NEXT: mov r1, r3
|
| ; ARM32-NEXT: bx lr
|
|
|
| -define i64 @test_returning64_even_arg2(i64 %arg0, i32 %arg1, i64 %arg2) {
|
| +define internal i64 @test_returning64_even_arg2(i64 %arg0, i32 %arg1, i64 %arg2) {
|
| entry:
|
| ret i64 %arg2
|
| }
|
| @@ -187,7 +188,7 @@ entry:
|
| ; ARM32-DAG: ldr r1, [sp, #4]
|
| ; ARM32-NEXT: bx lr
|
|
|
| -define i64 @test_returning64_even_arg2b(i64 %arg0, i32 %arg1, i32 %arg1b, i64 %arg2) {
|
| +define internal i64 @test_returning64_even_arg2b(i64 %arg0, i32 %arg1, i32 %arg1b, i64 %arg2) {
|
| entry:
|
| ret i64 %arg2
|
| }
|
| @@ -200,7 +201,7 @@ entry:
|
| ; ARM32-NEXT: ldr r1, [sp, #4]
|
| ; ARM32-NEXT: bx lr
|
|
|
| -define i32 @test_returning32_even_arg2(i64 %arg0, i32 %arg1, i32 %arg2) {
|
| +define internal i32 @test_returning32_even_arg2(i64 %arg0, i32 %arg1, i32 %arg2) {
|
| entry:
|
| ret i32 %arg2
|
| }
|
| @@ -211,7 +212,7 @@ entry:
|
| ; ARM32-NEXT: mov r0, r3
|
| ; ARM32-NEXT: bx lr
|
|
|
| -define i32 @test_returning32_even_arg2b(i32 %arg0, i32 %arg1, i32 %arg2, i64 %arg3) {
|
| +define internal i32 @test_returning32_even_arg2b(i32 %arg0, i32 %arg1, i32 %arg2, i64 %arg3) {
|
| entry:
|
| ret i32 %arg2
|
| }
|
| @@ -224,7 +225,7 @@ entry:
|
|
|
| ; The i64 won't fit in a pair of register, and consumes the last register so a
|
| ; following i32 can't use that free register.
|
| -define i32 @test_returning32_even_arg4(i32 %arg0, i32 %arg1, i32 %arg2, i64 %arg3, i32 %arg4) {
|
| +define internal i32 @test_returning32_even_arg4(i32 %arg0, i32 %arg1, i32 %arg2, i64 %arg3, i32 %arg4) {
|
| entry:
|
| ret i32 %arg4
|
| }
|
| @@ -244,7 +245,7 @@ declare void @IntArgs(i32, i32, i32, i32, i32, i32)
|
|
|
| declare void @killRegisters()
|
|
|
| -define void @test_passing_integers(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6) {
|
| +define internal void @test_passing_integers(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6) {
|
| call void @killRegisters()
|
| call void @IntArgs(i32 %arg6, i32 %arg5, i32 %arg4, i32 %arg3, i32 %arg2, i32 %arg1)
|
| ret void
|
|
|