Index: tests_lit/llvm2ice_tests/callindirect.pnacl.ll |
diff --git a/tests_lit/llvm2ice_tests/callindirect.pnacl.ll b/tests_lit/llvm2ice_tests/callindirect.pnacl.ll |
index d07ad77f46f03b73abc63fb3ac218f2d3a467929..a1b1fc54392dac8b9b99e73c42af18e5692c78ee 100644 |
--- a/tests_lit/llvm2ice_tests/callindirect.pnacl.ll |
+++ b/tests_lit/llvm2ice_tests/callindirect.pnacl.ll |
@@ -1,5 +1,10 @@ |
-; RUIN: %llvm2ice --verbose none %s | FileCheck %s |
-; RUIN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
+; Test of multiple indirect calls to the same target. Each call |
+; should be to the same operand, whether it's in a register or on the |
+; stack. |
+ |
+; RUIN: %llvm2ice -O2 --verbose none %s | FileCheck %s |
+; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck --check-prefix=OPTM1 %s |
+; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
; RUN: %szdiff --llvm2ice=%llvm2ice %s | FileCheck --check-prefix=DUMP %s |
@__init_array_start = internal constant [0 x i8] zeroinitializer, align 4 |
@@ -22,6 +27,12 @@ entry: |
; CHECK: call [[REGISTER]] |
; CHECK: call [[REGISTER]] |
; CHECK: call [[REGISTER]] |
+; |
+; OPTM1: call [[TARGET:.+]] |
+; OPTM1: call [[TARGET]] |
+; OPTM1: call [[TARGET]] |
+; OPTM1: call [[TARGET]] |
+; OPTM1: call [[TARGET]] |
; ERRORS-NOT: ICE translation error |
; DUMP-NOT: SZ |