aboutsummaryrefslogtreecommitdiff
path: root/test/NaCl/Bitcode
diff options
context:
space:
mode:
Diffstat (limited to 'test/NaCl/Bitcode')
-rw-r--r--test/NaCl/Bitcode/call-elide.ll99
1 files changed, 10 insertions, 89 deletions
diff --git a/test/NaCl/Bitcode/call-elide.ll b/test/NaCl/Bitcode/call-elide.ll
index c0b9cfc31b..adcd32a904 100644
--- a/test/NaCl/Bitcode/call-elide.ll
+++ b/test/NaCl/Bitcode/call-elide.ll
@@ -37,7 +37,7 @@ define void @DirectCall() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
-; PF1-NEXT: <INST_CALL op0=0 op1=16 op2=1/>
+; PF1-NEXT: <INST_CALL op0=0 op1=14 op2=1/>
; PF1-NEXT: <INST_RET/>
; PF1-NEXT: </FUNCTION_BLOCK>
@@ -48,7 +48,7 @@ define void @DirectCall() {
; PF2: <FUNCTION_BLOCK>
; PF2: </CONSTANTS_BLOCK>
-; PF2-NEXT: <INST_CALL op0=0 op1=16 op2=1/>
+; PF2-NEXT: <INST_CALL op0=0 op1=14 op2=1/>
; PF2-NEXT: <INST_RET/>
; PF2-NEXT: </FUNCTION_BLOCK>
@@ -73,7 +73,7 @@ define void @DirectCallIntToPtrArg(i32 %i) {
; PF1: <FUNCTION_BLOCK>
; PF1-NEXT: <DECLAREBLOCKS op0=1/>
; PF1-NEXT: <INST_CAST op0=1 op1=4 op2=10/>
-; PF1-NEXT: <INST_CALL op0=0 op1=16 op2=1/>
+; PF1-NEXT: <INST_CALL op0=0 op1=14 op2=1/>
; PF1-NEXT: <INST_RET/>
; PF1: </FUNCTION_BLOCK>
@@ -85,7 +85,7 @@ define void @DirectCallIntToPtrArg(i32 %i) {
; PF2: <FUNCTION_BLOCK>
; PF2-NEXT: <DECLAREBLOCKS op0=1/>
-; PF2-NEXT: <INST_CALL op0=0 op1=15 op2=1/>
+; PF2-NEXT: <INST_CALL op0=0 op1=13 op2=1/>
; PF2-NEXT: <INST_RET/>
; PF2: </FUNCTION_BLOCK>
@@ -110,7 +110,7 @@ define void @DirectCallPtrToIntArg() {
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
-; PF1-NEXT: <INST_CALL op0=0 op1=18 op2=1/>
+; PF1-NEXT: <INST_CALL op0=0 op1=16 op2=1/>
; PF1-NEXT: <INST_RET/>
; PF1-NEXT: </FUNCTION_BLOCK>
@@ -124,7 +124,7 @@ define void @DirectCallPtrToIntArg() {
; PF2: <FUNCTION_BLOCK>
; PF2: </CONSTANTS_BLOCK>
; PF2-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF2-NEXT: <INST_CALL op0=0 op1=17 op2=1/>
+; PF2-NEXT: <INST_CALL op0=0 op1=15 op2=1/>
; PF2-NEXT: <INST_RET/>
; PF2-NEXT: </FUNCTION_BLOCK>
@@ -146,7 +146,7 @@ define void @DirectCallBitcastArg(i32 %i) {
; PF1: <FUNCTION_BLOCK>
; PF1-NEXT: <DECLAREBLOCKS op0=1/>
; PF1-NEXT: <INST_CAST op0=2 op1=4 op2=11/>
-; PF1-NEXT: <INST_CALL op0=0 op1=16 op2=1/>
+; PF1-NEXT: <INST_CALL op0=0 op1=14 op2=1/>
; PF1-NEXT: <INST_RET/>
; PF1: </FUNCTION_BLOCK>
@@ -158,7 +158,7 @@ define void @DirectCallBitcastArg(i32 %i) {
; PF2: <FUNCTION_BLOCK>
; PF2-NEXT: <DECLAREBLOCKS op0=1/>
-; PF2-NEXT: <INST_CALL op0=0 op1=15 op2=2/>
+; PF2-NEXT: <INST_CALL op0=0 op1=13 op2=2/>
; PF2-NEXT: <INST_RET/>
; PF2: </FUNCTION_BLOCK>
@@ -180,7 +180,7 @@ define void @DirectCallScalarArg(i32* %ptr) {
; PF1: <FUNCTION_BLOCK>
; PF1-NEXT: <DECLAREBLOCKS op0=1/>
; PF1-NEXT: <INST_CAST op0=2 op1=0 op2=9/>
-; PF1-NEXT: <INST_CALL op0=0 op1=17 op2=1/>
+; PF1-NEXT: <INST_CALL op0=0 op1=15 op2=1/>
; PF1-NEXT: <INST_RET/>
; PF1: </FUNCTION_BLOCK>
@@ -192,7 +192,7 @@ define void @DirectCallScalarArg(i32* %ptr) {
; PF2: <FUNCTION_BLOCK>
; PF2-NEXT: <DECLAREBLOCKS op0=1/>
-; PF2-NEXT: <INST_CALL op0=0 op1=16 op2=2/>
+; PF2-NEXT: <INST_CALL op0=0 op1=14 op2=2/>
; PF2-NEXT: <INST_RET/>
; PF2: </FUNCTION_BLOCK>
@@ -274,85 +274,6 @@ define void @IndirectCallPtrToIntArg(i32 %i) {
; PF2: </FUNCTION_BLOCK>
; ------------------------------------------------------
-; Test how we handle a direct call with a normalized inttoptr argument.
-; Note: This code doesn't follow the PNaCl ABI in that function
-; calls can't get pointer arguments. However, intrinsic calls can, and
-; this code is a placeholder for such a test.
-
-define void @IndirectCallIntToPtrArg(i32 %i) {
- %1 = inttoptr i32 %i to i32 (i32*)*
- %2 = inttoptr i32 %i to i32*
- %3 = call i32 %1(i32* %2)
- ret void
-}
-
-; TD1: define void @IndirectCallIntToPtrArg(i32 %i) {
-; TD1-NEXT: %1 = inttoptr i32 %i to i32 (i32*)*
-; TD1-NEXT: %2 = inttoptr i32 %i to i32*
-; TD1-NEXT: %3 = call i32 %1(i32* %2)
-; TD1-NEXT: ret void
-; TD1-NEXT: }
-
-; PF1: <FUNCTION_BLOCK>
-; PF1-NEXT: <DECLAREBLOCKS op0=1/>
-; PF1-NEXT: <INST_CAST op0=1 op1=6 op2=10/>
-; PF1-NEXT: <INST_CAST op0=2 op1=4 op2=10/>
-; PF1-NEXT: <INST_CALL op0=0 op1=2 op2=1/>
-; PF1-NEXT: <INST_RET/>
-; PF1: </FUNCTION_BLOCK>
-
-; TD2: define void @IndirectCallIntToPtrArg(i32 %i) {
-; TD2-NEXT: %1 = inttoptr i32 %i to i32 (i32*)*
-; TD2-NEXT: %2 = inttoptr i32 %i to i32*
-; TD2-NEXT: %3 = call i32 %1(i32* %2)
-; TD2-NEXT: ret void
-; TD2-NEXT: }
-
-; PF2: <FUNCTION_BLOCK>
-; PF2-NEXT: <DECLAREBLOCKS op0=1/>
-; PF2-NEXT: <INST_CALL_INDIRECT op0=0 op1=1 op2=5 op3=1/>
-; PF2-NEXT: <INST_RET/>
-; PF2: </FUNCTION_BLOCK>
-
-; ------------------------------------------------------
-; Test how we handle an indirect call with a normalized bitcast argument.
-
-define void @IndirectCallBitcastArg(i32 %i) {
- %1 = inttoptr i32 %i to i32 (i32*)*
- %2 = bitcast [4 x i8]* @bytes to i32*
- %3 = call i32 %1(i32* %2)
- ret void
-}
-
-; TD1: define void @IndirectCallBitcastArg(i32 %i) {
-; TD1-NEXT: %1 = inttoptr i32 %i to i32 (i32*)*
-; TD1-NEXT: %2 = bitcast [4 x i8]* @bytes to i32*
-; TD1-NEXT: %3 = call i32 %1(i32* %2)
-; TD1-NEXT: ret void
-; TD1-NEXT: }
-
-; PF1: <FUNCTION_BLOCK>
-; PF1-NEXT: <DECLAREBLOCKS op0=1/>
-; PF1-NEXT: <INST_CAST op0=1 op1=6 op2=10/>
-; PF1-NEXT: <INST_CAST op0=3 op1=4 op2=11/>
-; PF1-NEXT: <INST_CALL op0=0 op1=2 op2=1/>
-; PF1-NEXT: <INST_RET/>
-; PF1: </FUNCTION_BLOCK>
-
-; TD2: define void @IndirectCallBitcastArg(i32 %i) {
-; TD2-NEXT: %1 = inttoptr i32 %i to i32 (i32*)*
-; TD2-NEXT: %2 = bitcast [4 x i8]* @bytes to i32*
-; TD2-NEXT: %3 = call i32 %1(i32* %2)
-; TD2-NEXT: ret void
-; TD2-NEXT: }
-
-; PF2: <FUNCTION_BLOCK>
-; PF2-NEXT: <DECLAREBLOCKS op0=1/>
-; PF2-NEXT: <INST_CALL_INDIRECT op0=0 op1=1 op2=5 op3=2/>
-; PF2-NEXT: <INST_RET/>
-; PF2: </FUNCTION_BLOCK>
-
-; ------------------------------------------------------
; Test how we handle an indirect call with a pointer to scalar conversion.
define void @IndirectCallScalarArg(i32 %i, i32* %ptr) {