Index: tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll |
diff --git a/tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll b/tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll |
index 59eba0d905e90f7fcfd3f008a22b35f534b0bb4c..29e8def5c8d2817f5e2e6f101ee732321223dbb2 100644 |
--- a/tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll |
+++ b/tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll |
@@ -1,11 +1,5 @@ |
; This tests the NaCl intrinsics not related to atomic operations. |
-; TODO(jvoung): fix extra "CALLTARGETS" run. The llvm-objdump symbolizer |
-; doesn't know how to symbolize non-section-local functions. |
-; The newer LLVM 3.6 one does work, but watch out for other bugs. |
- |
-; RUN: %p2i -i %s --args -O2 --verbose none \ |
-; RUN: | FileCheck --check-prefix=CALLTARGETS %s |
; RUN: %p2i -i %s --args -O2 --verbose none -sandbox \ |
; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s |
@@ -61,9 +55,7 @@ entry: |
; CHECKO2REM-LABEL: test_nacl_read_tp |
; CHECKO2REM: mov e{{.*}}, dword ptr gs:[0] |
; CHECKO2UNSANDBOXEDREM-LABEL: test_nacl_read_tp |
-; CHECKO2UNSANDBOXEDREM: call -4 |
-; CALLTARGETS-LABEL: test_nacl_read_tp |
-; CALLTARGETS: .long __nacl_read_tp |
+; CHECKO2UNSANDBOXEDREM: call __nacl_read_tp |
define i32 @test_nacl_read_tp_more_addressing() { |
entry: |
@@ -89,11 +81,8 @@ entry: |
; CHECKO2REM: mov e{{.*}}, dword ptr gs:[0] |
; CHECKO2REM: mov e{{.*}}, dword ptr gs:[0] |
; CHECKO2UNSANDBOXEDREM-LABEL: test_nacl_read_tp_more_addressing |
-; CHECKO2UNSANDBOXEDREM: call -4 |
-; CHECKO2UNSANDBOXEDREM: call -4 |
-; CALLTARGETS-LABEL: test_nacl_read_tp_more_addressing |
-; CALLTARGETS: .long __nacl_read_tp |
-; CALLTARGETS: .long __nacl_read_tp |
+; CHECKO2UNSANDBOXEDREM: call __nacl_read_tp |
+; CHECKO2UNSANDBOXEDREM: call __nacl_read_tp |
define i32 @test_nacl_read_tp_dead(i32 %a) { |
entry: |
@@ -106,9 +95,7 @@ entry: |
; CHECKO2REM-LABEL: test_nacl_read_tp_dead |
; CHECKO2REM-NOT: mov e{{.*}}, dword ptr gs:[0] |
; CHECKO2UNSANDBOXEDREM-LABEL: test_nacl_read_tp_dead |
-; CHECKO2UNSANDBOXEDREM-NOT: call -4 |
-; CALLTARGETS-LABEL: test_nacl_read_tp_dead |
-; CALLTARGETS-NOT: call __nacl_read_tp |
+; CHECKO2UNSANDBOXEDREM-NOT: call __nacl_read_tp |
define void @test_memcpy(i32 %iptr_dst, i32 %iptr_src, i32 %len) { |
entry: |
@@ -119,9 +106,7 @@ entry: |
ret void |
} |
; CHECK-LABEL: test_memcpy |
-; CHECK: call -4 |
-; CALLTARGETS-LABEL: test_memcpy |
-; CALLTARGETS: .long memcpy |
+; CHECK: call memcpy |
; CHECKO2REM-LABEL: test_memcpy |
; CHECKO2UNSANDBOXEDREM-LABEL: test_memcpy |
@@ -136,9 +121,7 @@ entry: |
ret void |
} |
; CHECK-LABEL: test_memcpy_const_len_align |
-; CHECK: call -4 |
-; CALLTARGETS-LABEL: test_memcpy_const_len_align |
-; CALLTARGETS: .long memcpy |
+; CHECK: call memcpy |
define void @test_memmove(i32 %iptr_dst, i32 %iptr_src, i32 %len) { |
entry: |
@@ -149,9 +132,7 @@ entry: |
ret void |
} |
; CHECK-LABEL: test_memmove |
-; CHECK: call -4 |
-; CALLTARGETS-LABEL: test_memmove |
-; CALLTARGETS: .long memmove |
+; CHECK: call memmove |
define void @test_memmove_const_len_align(i32 %iptr_dst, i32 %iptr_src) { |
entry: |
@@ -162,9 +143,7 @@ entry: |
ret void |
} |
; CHECK-LABEL: test_memmove_const_len_align |
-; CHECK: call -4 |
-; CALLTARGETS-LABEL: test_memmove_const_len_align |
-; CALLTARGETS: .long memmove |
+; CHECK: call memmove |
define void @test_memset(i32 %iptr_dst, i32 %wide_val, i32 %len) { |
entry: |
@@ -176,9 +155,7 @@ entry: |
} |
; CHECK-LABEL: test_memset |
; CHECK: movzx |
-; CHECK: call -4 |
-; CALLTARGETS-LABEL: test_memset |
-; CALLTARGETS: .long memset |
+; CHECK: call memset |
define void @test_memset_const_len_align(i32 %iptr_dst, i32 %wide_val) { |
entry: |
@@ -190,9 +167,7 @@ entry: |
} |
; CHECK-LABEL: test_memset_const_len_align |
; CHECK: movzx |
-; CHECK: call -4 |
-; CALLTARGETS-LABEL: test_memset_const_len_align |
-; CALLTARGETS: .long memset |
+; CHECK: call memset |
define void @test_memset_const_val(i32 %iptr_dst, i32 %len) { |
entry: |
@@ -203,9 +178,7 @@ entry: |
; CHECK-LABEL: test_memset_const_val |
; Make sure the argument is legalized (can't movzx reg, 0). |
; CHECK: movzx {{.*}}, {{[^0]}} |
-; CHECK: call -4 |
-; CALLTARGETS-LABEL: test_memset_const_val |
-; CALLTARGETS: .long memset |
+; CHECK: call memset |
define i32 @test_setjmplongjmp(i32 %iptr_env) { |
@@ -223,14 +196,11 @@ NonZero: |
ret i32 1 |
} |
; CHECK-LABEL: test_setjmplongjmp |
-; CHECK: call -4 |
-; CHECK: call -4 |
+; CHECK: call setjmp |
+; CHECK: call longjmp |
; CHECKO2REM-LABEL: test_setjmplongjmp |
-; CHECKO2REM: call -4 |
-; CHECKO2REM: call -4 |
-; CALLTARGETS-LABEL: test_setjmplongjmp |
-; CALLTARGETS: .long setjmp |
-; CALLTARGETS: .long longjmp |
+; CHECKO2REM: call setjmp |
+; CHECKO2REM: call longjmp |
define i32 @test_setjmp_unused(i32 %iptr_env, i32 %i_other) { |
entry: |
@@ -241,9 +211,7 @@ entry: |
; Don't consider setjmp side-effect free, so it's not eliminated if |
; result unused. |
; CHECKO2REM-LABEL: test_setjmp_unused |
-; CHECKO2REM: call -4 |
-; CALLTARGETS-LABEL: test_setjmp_unused |
-; CALLTARGETS: .long setjmp |
+; CHECKO2REM: call setjmp |
define float @test_sqrt_float(float %x, i32 %iptr) { |
entry: |
@@ -449,9 +417,7 @@ entry: |
ret i32 %r |
} |
; CHECK-LABEL: test_popcount_32 |
-; CHECK: call -4 |
-; CALLTARGETS-LABEL: test_popcount_32 |
-; CALLTARGETS: .long __popcountsi2 |
+; CHECK: call __popcountsi2 |
define i64 @test_popcount_64(i64 %x) { |
entry: |
@@ -459,12 +425,10 @@ entry: |
ret i64 %r |
} |
; CHECK-LABEL: test_popcount_64 |
-; CHECK: call -4 |
+; CHECK: call __popcountdi2 |
; __popcountdi2 only returns a 32-bit result, so clear the upper bits of |
; the return value just in case. |
; CHECK: mov {{.*}}, 0 |
-; CALLTARGETS-LABEL: test_popcount_64 |
-; CALLTARGETS: .long __popcountdi2 |
define i32 @test_popcount_64_ret_i32(i64 %x) { |
@@ -475,10 +439,8 @@ entry: |
} |
; If there is a trunc, then the mov {{.*}}, 0 is dead and gets optimized out. |
; CHECKO2REM-LABEL: test_popcount_64_ret_i32 |
-; CHECKO2REM: call -4 |
+; CHECKO2REM: call __popcountdi2 |
; CHECKO2REM-NOT: mov {{.*}}, 0 |
-; CALLTARGETS-LABEL: test_popcount_64_ret_i32 |
-; CALLTARGETS: .long __popcountdi2 |
define void @test_stacksave_noalloca() { |
entry: |