aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Bitcode/NaCl/NaClLLVMBitCodes.h2
-rw-r--r--lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp4
-rw-r--r--lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp1
-rw-r--r--lib/Bitcode/NaCl/Writer/NaClValueEnumerator.cpp4
-rw-r--r--test/NaCl/Bitcode/ptrtoint-elide.ll110
-rw-r--r--test/NaCl/Bitcode/switch.ll7
6 files changed, 68 insertions, 60 deletions
diff --git a/include/llvm/Bitcode/NaCl/NaClLLVMBitCodes.h b/include/llvm/Bitcode/NaCl/NaClLLVMBitCodes.h
index 32e3920b7d..384b03661e 100644
--- a/include/llvm/Bitcode/NaCl/NaClLLVMBitCodes.h
+++ b/include/llvm/Bitcode/NaCl/NaClLLVMBitCodes.h
@@ -82,6 +82,8 @@ namespace naclbitc {
TYPE_CODE_VOID = 2, // VOID
TYPE_CODE_FLOAT = 3, // FLOAT
TYPE_CODE_DOUBLE = 4, // DOUBLE
+ // TODO(mseaborn): Remove LABEL when we drop support for v1 of the
+ // PNaCl bitcode format. The writer no longer generates it.
TYPE_CODE_LABEL = 5, // LABEL
TYPE_CODE_OPAQUE = 6, // Not used in PNaCl.
TYPE_CODE_INTEGER = 7, // INTEGER: [width]
diff --git a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp
index cccc5cee5a..eaaa85a164 100644
--- a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp
+++ b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp
@@ -449,6 +449,10 @@ bool NaClBitcodeReader::ParseTypeTableBody() {
ResultTy = Type::getDoubleTy(Context);
break;
case naclbitc::TYPE_CODE_LABEL: // LABEL
+ // TODO(mseaborn): Remove this case when we drop support for v1
+ // of the PNaCl bitcode format.
+ if (GetPNaClVersion() >= 2)
+ return Error("Label type not supported in PNaCl bitcode");
ResultTy = Type::getLabelTy(Context);
break;
case naclbitc::TYPE_CODE_INTEGER: // INTEGER: [width]
diff --git a/lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp b/lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp
index ec13266221..166a95bb23 100644
--- a/lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp
+++ b/lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp
@@ -224,7 +224,6 @@ static void WriteTypeTable(const NaClValueEnumerator &VE,
case Type::VoidTyID: Code = naclbitc::TYPE_CODE_VOID; break;
case Type::FloatTyID: Code = naclbitc::TYPE_CODE_FLOAT; break;
case Type::DoubleTyID: Code = naclbitc::TYPE_CODE_DOUBLE; break;
- case Type::LabelTyID: Code = naclbitc::TYPE_CODE_LABEL; break;
case Type::IntegerTyID:
// INTEGER: [width]
Code = naclbitc::TYPE_CODE_INTEGER;
diff --git a/lib/Bitcode/NaCl/Writer/NaClValueEnumerator.cpp b/lib/Bitcode/NaCl/Writer/NaClValueEnumerator.cpp
index a58a421db2..64d7661415 100644
--- a/lib/Bitcode/NaCl/Writer/NaClValueEnumerator.cpp
+++ b/lib/Bitcode/NaCl/Writer/NaClValueEnumerator.cpp
@@ -299,6 +299,10 @@ void NaClValueEnumerator::EnumerateValue(const Value *VIn) {
void NaClValueEnumerator::EnumerateType(Type *Ty, bool InsideOptimizeTypes) {
+ // The label type does not need to be given a type ID.
+ if (Ty->isLabelTy())
+ return;
+
// This function is used to enumerate types referenced by the given
// module. This function is called in two phases, based on the value
// of TypeCountMap. These phases are:
diff --git a/test/NaCl/Bitcode/ptrtoint-elide.ll b/test/NaCl/Bitcode/ptrtoint-elide.ll
index 3ef7909fe7..bfca601d3f 100644
--- a/test/NaCl/Bitcode/ptrtoint-elide.ll
+++ b/test/NaCl/Bitcode/ptrtoint-elide.ll
@@ -42,8 +42,8 @@ define void @AllocCastSimple() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
-; PF1-NEXT: <INST_CAST op0=4 op1=4 op2=11/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
+; PF1-NEXT: <INST_CAST op0=4 op1={{.*}} op2=11/>
; PF1-NEXT: <INST_STORE op0=1 op1=2 op2=1 op3=0/>
; PF1-NEXT: <INST_RET/>
; PF1-NEXT: </FUNCTION_BLOCK>
@@ -87,8 +87,8 @@ define void @AllocCastSimpleReversed() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF1-NEXT: <INST_CAST op0=3 op1=4 op2=11/>
-; PF1-NEXT: <INST_CAST op0=2 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=3 op1={{.*}} op2=11/>
+; PF1-NEXT: <INST_CAST op0=2 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_STORE op0=2 op1=1 op2=1 op3=0/>
; PF1-NEXT: <INST_RET/>
; PF1-NEXT: </FUNCTION_BLOCK>
@@ -130,9 +130,9 @@ define void @AllocCastDelete() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_ALLOCA op0=3 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_RET/>
; PF1-NEXT: </FUNCTION_BLOCK>
@@ -175,8 +175,8 @@ define void @AllocCastOpt() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF1-NEXT: <INST_CAST op0=3 op1=4 op2=11/>
-; PF1-NEXT: <INST_CAST op0=2 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=3 op1={{.*}} op2=11/>
+; PF1-NEXT: <INST_CAST op0=2 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_STORE op0=2 op1=1 op2=1 op3=0/>
; PF1-NEXT: <INST_STORE op0=2 op1=1 op2=1 op3=0/>
; PF1-NEXT: <INST_RET/>
@@ -224,8 +224,8 @@ define void @AllocCastMove(i32) {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=2 op1=4/>
-; PF1-NEXT: <INST_CAST op0=5 op1=4 op2=11/>
-; PF1-NEXT: <INST_CAST op0=2 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=5 op1={{.*}} op2=11/>
+; PF1-NEXT: <INST_CAST op0=2 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_BINOP op0=6 op1=4 op2=0/>
; PF1-NEXT: <INST_STORE op0=3 op1=2 op2=1 op3=0/>
; PF1-NEXT: <INST_RET/>
@@ -271,8 +271,8 @@ define void @StoreGlobal() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF1-NEXT: <INST_CAST op0=3 op1=0 op2=9/>
-; PF1-NEXT: <INST_CAST op0=2 op1=4 op2=11/>
+; PF1-NEXT: <INST_CAST op0=3 op1={{.*}} op2=9/>
+; PF1-NEXT: <INST_CAST op0=2 op1={{.*}} op2=11/>
; PF1-NEXT: <INST_STORE op0=1 op1=2 op2=1 op3=0/>
; PF1-NEXT: <INST_RET/>
; PF1-NEXT: </FUNCTION_BLOCK>
@@ -314,8 +314,8 @@ define void @StoreGlobalCastsReversed() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=4 op2=11/>
-; PF1-NEXT: <INST_CAST op0=4 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=11/>
+; PF1-NEXT: <INST_CAST op0=4 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_STORE op0=2 op1=1 op2=1 op3=0/>
; PF1-NEXT: <INST_RET/>
; PF1-NEXT: </FUNCTION_BLOCK>
@@ -356,9 +356,9 @@ define i32 @StoreGlobalMovePtr2Int() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
-; PF1-NEXT: <INST_CAST op0=3 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=3 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_ALLOCA op0=3 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=4 op2=11/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=11/>
; PF1-NEXT: <INST_STORE op0=1 op1=3 op2=1 op3=0/>
; PF1-NEXT: <INST_RET op0=4/>
; PF1-NEXT: </FUNCTION_BLOCK>
@@ -413,7 +413,7 @@ define void @CastAddAlloca() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_BINOP op0=5 op1=4 op2=0/>
; PF1-NEXT: <INST_BINOP op0=2 op1=5 op2=0/>
; PF1-NEXT: <INST_BINOP op0=7 op1=3 op2=0/>
@@ -472,7 +472,7 @@ define void @CastAddGlobal() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
-; PF1-NEXT: <INST_CAST op0=3 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=3 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_BINOP op0=3 op1=2 op2=0/>
; PF1-NEXT: <INST_BINOP op0=2 op1=3 op2=0/>
; PF1-NEXT: <INST_BINOP op0=5 op1=3 op2=0/>
@@ -540,8 +540,8 @@ define void @CastBinop() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
-; PF1-NEXT: <INST_CAST op0=4 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
+; PF1-NEXT: <INST_CAST op0=4 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_BINOP op0=2 op1=1 op2=1/>
; PF1-NEXT: <INST_BINOP op0=3 op1=2 op2=2/>
; PF1-NEXT: <INST_BINOP op0=4 op1=3 op2=3/>
@@ -635,17 +635,17 @@ define void @TestCasts() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=2 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
-; PF1-NEXT: <INST_CAST op0=6 op1=2 op2=0/>
-; PF1-NEXT: <INST_CAST op0=2 op1=2 op2=0/>
-; PF1-NEXT: <INST_CAST op0=8 op1=11 op2=1/>
-; PF1-NEXT: <INST_CAST op0=4 op1=11 op2=1/>
-; PF1-NEXT: <INST_CAST op0=9 op1=11 op2=2/>
-; PF1-NEXT: <INST_CAST op0=6 op1=11 op2=2/>
-; PF1-NEXT: <INST_CAST op0=9 op1=12 op2=5/>
-; PF1-NEXT: <INST_CAST op0=8 op1=12 op2=5/>
-; PF1-NEXT: <INST_CAST op0=13 op1=12 op2=6/>
-; PF1-NEXT: <INST_CAST op0=10 op1=12 op2=6/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
+; PF1-NEXT: <INST_CAST op0=6 op1={{.*}} op2=0/>
+; PF1-NEXT: <INST_CAST op0=2 op1={{.*}} op2=0/>
+; PF1-NEXT: <INST_CAST op0=8 op1={{.*}} op2=1/>
+; PF1-NEXT: <INST_CAST op0=4 op1={{.*}} op2=1/>
+; PF1-NEXT: <INST_CAST op0=9 op1={{.*}} op2=2/>
+; PF1-NEXT: <INST_CAST op0=6 op1={{.*}} op2=2/>
+; PF1-NEXT: <INST_CAST op0=9 op1={{.*}} op2=5/>
+; PF1-NEXT: <INST_CAST op0=8 op1={{.*}} op2=5/>
+; PF1-NEXT: <INST_CAST op0=13 op1={{.*}} op2=6/>
+; PF1-NEXT: <INST_CAST op0=10 op1={{.*}} op2=6/>
; PF1-NEXT: <INST_RET/>
; PF1-NEXT: </FUNCTION_BLOCK>
@@ -668,16 +668,16 @@ define void @TestCasts() {
; PF2: <FUNCTION_BLOCK>
; PF2: </CONSTANTS_BLOCK>
; PF2-NEXT: <INST_ALLOCA op0=2 op1=4/>
-; PF2-NEXT: <INST_CAST op0=5 op1=2 op2=0/>
-; PF2-NEXT: <INST_CAST op0=2 op1=2 op2=0/>
-; PF2-NEXT: <INST_CAST op0=7 op1=11 op2=1/>
-; PF2-NEXT: <INST_CAST op0=4 op1=11 op2=1/>
-; PF2-NEXT: <INST_CAST op0=8 op1=11 op2=2/>
-; PF2-NEXT: <INST_CAST op0=6 op1=11 op2=2/>
-; PF2-NEXT: <INST_CAST op0=8 op1=12 op2=5/>
-; PF2-NEXT: <INST_CAST op0=8 op1=12 op2=5/>
-; PF2-NEXT: <INST_CAST op0=12 op1=12 op2=6/>
-; PF2-NEXT: <INST_CAST op0=10 op1=12 op2=6/>
+; PF2-NEXT: <INST_CAST op0=5 op1={{.*}} op2=0/>
+; PF2-NEXT: <INST_CAST op0=2 op1={{.*}} op2=0/>
+; PF2-NEXT: <INST_CAST op0=7 op1={{.*}} op2=1/>
+; PF2-NEXT: <INST_CAST op0=4 op1={{.*}} op2=1/>
+; PF2-NEXT: <INST_CAST op0=8 op1={{.*}} op2=2/>
+; PF2-NEXT: <INST_CAST op0=6 op1={{.*}} op2=2/>
+; PF2-NEXT: <INST_CAST op0=8 op1={{.*}} op2=5/>
+; PF2-NEXT: <INST_CAST op0=8 op1={{.*}} op2=5/>
+; PF2-NEXT: <INST_CAST op0=12 op1={{.*}} op2=6/>
+; PF2-NEXT: <INST_CAST op0=10 op1={{.*}} op2=6/>
; PF2-NEXT: <INST_RET/>
; PF2-NEXT: </FUNCTION_BLOCK>
@@ -703,7 +703,7 @@ define void @TestSavedPtrToInt() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=2 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_BINOP op0=1 op1=3 op2=0/>
; PF1-NEXT: <INST_CALL op0=0 op1=26 op2=2/>
; PF1-NEXT: <INST_RET/>
@@ -755,8 +755,8 @@ define void @CastIcmp() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
-; PF1-NEXT: <INST_CAST op0=6 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
+; PF1-NEXT: <INST_CAST op0=6 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_CMP2 op0=6 op1=5 op2=32/>
; PF1-NEXT: <INST_CMP2 op0=3 op1=6 op2=32/>
; PF1-NEXT: <INST_CMP2 op0=8 op1=3 op2=32/>
@@ -818,8 +818,8 @@ define void @CastSelect() {
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=2 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
-; PF1-NEXT: <INST_CAST op0=7 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
+; PF1-NEXT: <INST_CAST op0=7 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_VSELECT op0=7 op1=6 op2=4/>
; PF1-NEXT: <INST_VSELECT op0=3 op1=7 op2=5/>
; PF1-NEXT: <INST_VSELECT op0=9 op1=3 op2=6/>
@@ -897,9 +897,9 @@ merge:
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=4 op2=11/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=11/>
; PF1-NEXT: <INST_ALLOCA op0=3 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_BR op0=1 op1=2 op2=6/>
; PF1-NEXT: <INST_LOAD op0=3 op1=0 op2=0/>
; PF1-NEXT: <INST_BR op0=3/>
@@ -1007,9 +1007,9 @@ start:
; PF1-NEXT: <INST_LOAD op0=4294967294 op1=0 op2=0/>
; PF1-NEXT: <INST_BR op0=1/>
; PF1-NEXT: <INST_ALLOCA op0=5 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=4 op2=11/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=11/>
; PF1-NEXT: <INST_ALLOCA op0=7 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_BR op0=2 op1=3 op2=10/>
; PF1: </FUNCTION_BLOCK>
@@ -1105,12 +1105,12 @@ merge:
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=4 op2=11/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=11/>
; PF1-NEXT: <INST_ALLOCA op0=3 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_BR op0=1 op1=2 op2=6/>
; PF1-NEXT: <INST_LOAD op0=3 op1=0 op2=0/>
-; PF1-NEXT: <INST_CAST op0=3 op1=0 op2=9/>
+; PF1-NEXT: <INST_CAST op0=3 op1={{.*}} op2=9/>
; PF1-NEXT: <INST_BINOP op0=2 op1=1 op2=0/>
; PF1-NEXT: <INST_BR op0=3/>
; PF1-NEXT: <INST_LOAD op0=6 op1=0 op2=0/>
@@ -1223,8 +1223,8 @@ b4:
; PF1: <FUNCTION_BLOCK>
; PF1: </CONSTANTS_BLOCK>
; PF1-NEXT: <INST_ALLOCA op0=1 op1=4/>
-; PF1-NEXT: <INST_CAST op0=1 op1=0 op2=9/>
-; PF1-NEXT: <INST_CAST op0=5 op1=4 op2=11/>
+; PF1-NEXT: <INST_CAST op0=1 op1={{.*}} op2=9/>
+; PF1-NEXT: <INST_CAST op0=5 op1={{.*}} op2=11/>
; PF1-NEXT: <INST_BR op0=1 op1=2 op2=5/>
; PF1-NEXT: <INST_BR op0=3 op1=4 op2=5/>
; PF1-NEXT: <INST_BR op0=5 op1=6 op2=5/>
diff --git a/test/NaCl/Bitcode/switch.ll b/test/NaCl/Bitcode/switch.ll
index 9da6667bed..f15001f504 100644
--- a/test/NaCl/Bitcode/switch.ll
+++ b/test/NaCl/Bitcode/switch.ll
@@ -48,11 +48,10 @@ end:
}
; CHECK: <TYPE_BLOCK_ID>
-; CHECK-NEXT: <NUMENTRY op0=5/>
+; CHECK-NEXT: <NUMENTRY op0=4/>
; CHECK-NEXT: <VOID/>
-; CHECK-NEXT: <LABEL/>
; CHECK-NEXT: <INTEGER op0=32/>
-; CHECK-NEXT: <FUNCTION op0=0 op1=0 op2=2/>
-; CHECK-NEXT: <POINTER op0=3 op1=0/>
+; CHECK-NEXT: <FUNCTION op0={{.*}} op1={{.*}} op2={{.*}}/>
+; CHECK-NEXT: <POINTER op0={{.*}} op1={{.*}}/>
; CHECK-NEXT: </TYPE_BLOCK_ID>