Index: tests_lit/llvm2ice_tests/bool-folding.ll |
diff --git a/tests_lit/llvm2ice_tests/bool-folding.ll b/tests_lit/llvm2ice_tests/bool-folding.ll |
index 584c797798888d9d46ca670bba885959f2e8480a..9a892005189c874d73b5bc6d803b4db99b5445c8 100644 |
--- a/tests_lit/llvm2ice_tests/bool-folding.ll |
+++ b/tests_lit/llvm2ice_tests/bool-folding.ll |
@@ -2,17 +2,19 @@ |
; variables are combined to implicitly use flags instead of explicitly using |
; stack or register variables. |
-; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 | FileCheck %s |
+; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 \ |
+; RUN: -allow-externally-defined-symbols | FileCheck %s |
; RUN: %if --need=allow_dump --need=target_ARM32 --command %p2i --filetype=asm \ |
; RUN: --target arm32 -i %s --args -O2 --skip-unimplemented \ |
+; RUN: -allow-externally-defined-symbols \ |
; RUN: | %if --need=allow_dump --need=target_ARM32 --command FileCheck %s \ |
; RUN: --check-prefix=ARM32 |
declare void @use_value(i32) |
; Basic cmp/branch folding. |
-define i32 @fold_cmp_br(i32 %arg1, i32 %arg2) { |
+define internal i32 @fold_cmp_br(i32 %arg1, i32 %arg2) { |
entry: |
%cmp1 = icmp slt i32 %arg1, %arg2 |
br i1 %cmp1, label %branch1, label %branch2 |
@@ -31,7 +33,7 @@ branch2: |
; Cmp/branch folding with intervening instructions. |
-define i32 @fold_cmp_br_intervening_insts(i32 %arg1, i32 %arg2) { |
+define internal i32 @fold_cmp_br_intervening_insts(i32 %arg1, i32 %arg2) { |
entry: |
%cmp1 = icmp slt i32 %arg1, %arg2 |
call void @use_value(i32 %arg1) |
@@ -57,7 +59,7 @@ branch2: |
; Cmp/branch non-folding because of live-out. |
-define i32 @no_fold_cmp_br_liveout(i32 %arg1, i32 %arg2) { |
+define internal i32 @no_fold_cmp_br_liveout(i32 %arg1, i32 %arg2) { |
entry: |
%cmp1 = icmp slt i32 %arg1, %arg2 |
br label %next |
@@ -82,7 +84,7 @@ branch2: |
; Cmp/branch non-folding because of extra non-whitelisted uses. |
-define i32 @no_fold_cmp_br_non_whitelist(i32 %arg1, i32 %arg2) { |
+define internal i32 @no_fold_cmp_br_non_whitelist(i32 %arg1, i32 %arg2) { |
entry: |
%cmp1 = icmp slt i32 %arg1, %arg2 |
%result = zext i1 %cmp1 to i32 |
@@ -110,7 +112,7 @@ branch2: |
; Basic cmp/select folding. |
-define i32 @fold_cmp_select(i32 %arg1, i32 %arg2) { |
+define internal i32 @fold_cmp_select(i32 %arg1, i32 %arg2) { |
entry: |
%cmp1 = icmp slt i32 %arg1, %arg2 |
%result = select i1 %cmp1, i32 %arg1, i32 %arg2 |
@@ -128,7 +130,7 @@ entry: |
; 64-bit cmp/select folding. |
-define i64 @fold_cmp_select_64(i64 %arg1, i64 %arg2) { |
+define internal i64 @fold_cmp_select_64(i64 %arg1, i64 %arg2) { |
entry: |
%arg1_trunc = trunc i64 %arg1 to i32 |
%arg2_trunc = trunc i64 %arg2 to i32 |
@@ -153,7 +155,7 @@ entry: |
; ARM32: bx lr |
-define i64 @fold_cmp_select_64_undef(i64 %arg1) { |
+define internal i64 @fold_cmp_select_64_undef(i64 %arg1) { |
entry: |
%arg1_trunc = trunc i64 %arg1 to i32 |
%cmp1 = icmp slt i32 undef, %arg1_trunc |
@@ -176,7 +178,7 @@ entry: |
; Cmp/select folding with intervening instructions. |
-define i32 @fold_cmp_select_intervening_insts(i32 %arg1, i32 %arg2) { |
+define internal i32 @fold_cmp_select_intervening_insts(i32 %arg1, i32 %arg2) { |
entry: |
%cmp1 = icmp slt i32 %arg1, %arg2 |
call void @use_value(i32 %arg1) |
@@ -203,7 +205,7 @@ entry: |
; Cmp/multi-select folding. |
-define i32 @fold_cmp_select_multi(i32 %arg1, i32 %arg2) { |
+define internal i32 @fold_cmp_select_multi(i32 %arg1, i32 %arg2) { |
entry: |
%cmp1 = icmp slt i32 %arg1, %arg2 |
%a = select i1 %cmp1, i32 %arg1, i32 %arg2 |
@@ -241,7 +243,7 @@ entry: |
; Cmp/multi-select non-folding because of live-out. |
-define i32 @no_fold_cmp_select_multi_liveout(i32 %arg1, i32 %arg2) { |
+define internal i32 @no_fold_cmp_select_multi_liveout(i32 %arg1, i32 %arg2) { |
entry: |
%cmp1 = icmp slt i32 %arg1, %arg2 |
%a = select i1 %cmp1, i32 %arg1, i32 %arg2 |
@@ -282,7 +284,8 @@ next: |
; ARM32: bx lr |
; Cmp/multi-select non-folding because of extra non-whitelisted uses. |
-define i32 @no_fold_cmp_select_multi_non_whitelist(i32 %arg1, i32 %arg2) { |
+define internal i32 @no_fold_cmp_select_multi_non_whitelist(i32 %arg1, |
+ i32 %arg2) { |
entry: |
%cmp1 = icmp slt i32 %arg1, %arg2 |
%a = select i1 %cmp1, i32 %arg1, i32 %arg2 |