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 |