diff options
Diffstat (limited to 'llvm/test/Bitcode')
-rw-r--r-- | llvm/test/Bitcode/Inputs/byval-upgrade.bc | bin | 0 -> 1092 bytes | |||
-rw-r--r-- | llvm/test/Bitcode/attributes-3.3.ll | 2 | ||||
-rw-r--r-- | llvm/test/Bitcode/attributes.ll | 2 | ||||
-rw-r--r-- | llvm/test/Bitcode/byval-upgrade.test | 7 | ||||
-rw-r--r-- | llvm/test/Bitcode/compatibility-3.6.ll | 2 | ||||
-rw-r--r-- | llvm/test/Bitcode/compatibility-3.7.ll | 2 | ||||
-rw-r--r-- | llvm/test/Bitcode/compatibility-3.8.ll | 2 | ||||
-rw-r--r-- | llvm/test/Bitcode/compatibility-3.9.ll | 2 | ||||
-rw-r--r-- | llvm/test/Bitcode/compatibility-4.0.ll | 2 | ||||
-rw-r--r-- | llvm/test/Bitcode/compatibility-5.0.ll | 2 | ||||
-rw-r--r-- | llvm/test/Bitcode/compatibility-6.0.ll | 2 | ||||
-rw-r--r-- | llvm/test/Bitcode/compatibility.ll | 11 | ||||
-rw-r--r-- | llvm/test/Bitcode/highLevelStructure.3.2.ll | 4 |
13 files changed, 28 insertions, 12 deletions
diff --git a/llvm/test/Bitcode/Inputs/byval-upgrade.bc b/llvm/test/Bitcode/Inputs/byval-upgrade.bc Binary files differnew file mode 100644 index 00000000000..e0da41f78e7 --- /dev/null +++ b/llvm/test/Bitcode/Inputs/byval-upgrade.bc diff --git a/llvm/test/Bitcode/attributes-3.3.ll b/llvm/test/Bitcode/attributes-3.3.ll index b564425c373..f1b37d19912 100644 --- a/llvm/test/Bitcode/attributes-3.3.ll +++ b/llvm/test/Bitcode/attributes-3.3.ll @@ -48,7 +48,7 @@ define void @f7(i8* noalias) } define void @f8(i8* byval) -; CHECK: define void @f8(i8* byval) +; CHECK: define void @f8(i8* byval(i8)) { ret void; } diff --git a/llvm/test/Bitcode/attributes.ll b/llvm/test/Bitcode/attributes.ll index de3cf8dd4d7..6f149c0d3bf 100644 --- a/llvm/test/Bitcode/attributes.ll +++ b/llvm/test/Bitcode/attributes.ll @@ -45,7 +45,7 @@ define void @f7(i8* noalias) } define void @f8(i8* byval) -; CHECK: define void @f8(i8* byval) +; CHECK: define void @f8(i8* byval(i8)) { ret void; } diff --git a/llvm/test/Bitcode/byval-upgrade.test b/llvm/test/Bitcode/byval-upgrade.test new file mode 100644 index 00000000000..1012bf72883 --- /dev/null +++ b/llvm/test/Bitcode/byval-upgrade.test @@ -0,0 +1,7 @@ +RUN: llvm-dis %p/Inputs/byval-upgrade.bc -o - | FileCheck %s + +Make sure we upgrade old-stile IntAttribute byval records to a fully typed +version correctly. + +CHECK: call void @bar({ i32*, i8 }* byval({ i32*, i8 }) %ptr) +CHECK: invoke void @bar({ i32*, i8 }* byval({ i32*, i8 }) %ptr) diff --git a/llvm/test/Bitcode/compatibility-3.6.ll b/llvm/test/Bitcode/compatibility-3.6.ll index e9313dfba87..322c95b02d1 100644 --- a/llvm/test/Bitcode/compatibility-3.6.ll +++ b/llvm/test/Bitcode/compatibility-3.6.ll @@ -404,7 +404,7 @@ declare void @f.param.signext(i8 signext) declare void @f.param.inreg(i8 inreg) ; CHECK: declare void @f.param.inreg(i8 inreg) declare void @f.param.byval({ i8, i8 }* byval) -; CHECK: declare void @f.param.byval({ i8, i8 }* byval) +; CHECK: declare void @f.param.byval({ i8, i8 }* byval({ i8, i8 })) declare void @f.param.inalloca(i8* inalloca) ; CHECK: declare void @f.param.inalloca(i8* inalloca) declare void @f.param.sret(i8* sret) diff --git a/llvm/test/Bitcode/compatibility-3.7.ll b/llvm/test/Bitcode/compatibility-3.7.ll index 82fc9905535..e8260741373 100644 --- a/llvm/test/Bitcode/compatibility-3.7.ll +++ b/llvm/test/Bitcode/compatibility-3.7.ll @@ -410,7 +410,7 @@ declare void @f.param.signext(i8 signext) declare void @f.param.inreg(i8 inreg) ; CHECK: declare void @f.param.inreg(i8 inreg) declare void @f.param.byval({ i8, i8 }* byval) -; CHECK: declare void @f.param.byval({ i8, i8 }* byval) +; CHECK: declare void @f.param.byval({ i8, i8 }* byval({ i8, i8 })) declare void @f.param.inalloca(i8* inalloca) ; CHECK: declare void @f.param.inalloca(i8* inalloca) declare void @f.param.sret(i8* sret) diff --git a/llvm/test/Bitcode/compatibility-3.8.ll b/llvm/test/Bitcode/compatibility-3.8.ll index 2e70a380d10..c8d82619155 100644 --- a/llvm/test/Bitcode/compatibility-3.8.ll +++ b/llvm/test/Bitcode/compatibility-3.8.ll @@ -435,7 +435,7 @@ declare void @f.param.signext(i8 signext) declare void @f.param.inreg(i8 inreg) ; CHECK: declare void @f.param.inreg(i8 inreg) declare void @f.param.byval({ i8, i8 }* byval) -; CHECK: declare void @f.param.byval({ i8, i8 }* byval) +; CHECK: declare void @f.param.byval({ i8, i8 }* byval({ i8, i8 })) declare void @f.param.inalloca(i8* inalloca) ; CHECK: declare void @f.param.inalloca(i8* inalloca) declare void @f.param.sret(i8* sret) diff --git a/llvm/test/Bitcode/compatibility-3.9.ll b/llvm/test/Bitcode/compatibility-3.9.ll index 7c84daa7d3c..f031e54a9f2 100644 --- a/llvm/test/Bitcode/compatibility-3.9.ll +++ b/llvm/test/Bitcode/compatibility-3.9.ll @@ -504,7 +504,7 @@ declare void @f.param.signext(i8 signext) declare void @f.param.inreg(i8 inreg) ; CHECK: declare void @f.param.inreg(i8 inreg) declare void @f.param.byval({ i8, i8 }* byval) -; CHECK: declare void @f.param.byval({ i8, i8 }* byval) +; CHECK: declare void @f.param.byval({ i8, i8 }* byval({ i8, i8 })) declare void @f.param.inalloca(i8* inalloca) ; CHECK: declare void @f.param.inalloca(i8* inalloca) declare void @f.param.sret(i8* sret) diff --git a/llvm/test/Bitcode/compatibility-4.0.ll b/llvm/test/Bitcode/compatibility-4.0.ll index 9e34d48c95f..8020df45da6 100644 --- a/llvm/test/Bitcode/compatibility-4.0.ll +++ b/llvm/test/Bitcode/compatibility-4.0.ll @@ -504,7 +504,7 @@ declare void @f.param.signext(i8 signext) declare void @f.param.inreg(i8 inreg) ; CHECK: declare void @f.param.inreg(i8 inreg) declare void @f.param.byval({ i8, i8 }* byval) -; CHECK: declare void @f.param.byval({ i8, i8 }* byval) +; CHECK: declare void @f.param.byval({ i8, i8 }* byval({ i8, i8 })) declare void @f.param.inalloca(i8* inalloca) ; CHECK: declare void @f.param.inalloca(i8* inalloca) declare void @f.param.sret(i8* sret) diff --git a/llvm/test/Bitcode/compatibility-5.0.ll b/llvm/test/Bitcode/compatibility-5.0.ll index a4b3fca82b7..3b32d668af5 100644 --- a/llvm/test/Bitcode/compatibility-5.0.ll +++ b/llvm/test/Bitcode/compatibility-5.0.ll @@ -508,7 +508,7 @@ declare void @f.param.signext(i8 signext) declare void @f.param.inreg(i8 inreg) ; CHECK: declare void @f.param.inreg(i8 inreg) declare void @f.param.byval({ i8, i8 }* byval) -; CHECK: declare void @f.param.byval({ i8, i8 }* byval) +; CHECK: declare void @f.param.byval({ i8, i8 }* byval({ i8, i8 })) declare void @f.param.inalloca(i8* inalloca) ; CHECK: declare void @f.param.inalloca(i8* inalloca) declare void @f.param.sret(i8* sret) diff --git a/llvm/test/Bitcode/compatibility-6.0.ll b/llvm/test/Bitcode/compatibility-6.0.ll index 097e19ecb7f..3b08c4a7231 100644 --- a/llvm/test/Bitcode/compatibility-6.0.ll +++ b/llvm/test/Bitcode/compatibility-6.0.ll @@ -515,7 +515,7 @@ declare void @f.param.signext(i8 signext) declare void @f.param.inreg(i8 inreg) ; CHECK: declare void @f.param.inreg(i8 inreg) declare void @f.param.byval({ i8, i8 }* byval) -; CHECK: declare void @f.param.byval({ i8, i8 }* byval) +; CHECK: declare void @f.param.byval({ i8, i8 }* byval({ i8, i8 })) declare void @f.param.inalloca(i8* inalloca) ; CHECK: declare void @f.param.inalloca(i8* inalloca) declare void @f.param.sret(i8* sret) diff --git a/llvm/test/Bitcode/compatibility.ll b/llvm/test/Bitcode/compatibility.ll index 06b81fa14a8..991bde69b61 100644 --- a/llvm/test/Bitcode/compatibility.ll +++ b/llvm/test/Bitcode/compatibility.ll @@ -529,7 +529,7 @@ declare void @f.param.signext(i8 signext) declare void @f.param.inreg(i8 inreg) ; CHECK: declare void @f.param.inreg(i8 inreg) declare void @f.param.byval({ i8, i8 }* byval) -; CHECK: declare void @f.param.byval({ i8, i8 }* byval) +; CHECK: declare void @f.param.byval({ i8, i8 }* byval({ i8, i8 })) declare void @f.param.inalloca(i8* inalloca) ; CHECK: declare void @f.param.inalloca(i8* inalloca) declare void @f.param.sret(i8* sret) @@ -1735,6 +1735,15 @@ define i8** @constexpr() { declare void @llvm.test.immarg.intrinsic(i32 immarg) ; CHECK: declare void @llvm.test.immarg.intrinsic(i32 immarg) +; byval attribute with type +%named_type = type [8 x i8] +declare void @byval_type(i32* byval(i32) align 2) +declare void @byval_type2({ i8, i8* }* byval({ i8, i8* })) +declare void @byval_named_type(%named_type* byval(%named_type)) +; CHECK: declare void @byval_type(i32* byval(i32) align 2) +; CHECK: declare void @byval_type2({ i8, i8* }* byval({ i8, i8* })) +; CHECK: declare void @byval_named_type([8 x i8]* byval([8 x i8])) + ; CHECK: attributes #0 = { alignstack=4 } ; CHECK: attributes #1 = { alignstack=8 } ; CHECK: attributes #2 = { alwaysinline } diff --git a/llvm/test/Bitcode/highLevelStructure.3.2.ll b/llvm/test/Bitcode/highLevelStructure.3.2.ll index 749b157cffc..91d6ee4ac25 100644 --- a/llvm/test/Bitcode/highLevelStructure.3.2.ll +++ b/llvm/test/Bitcode/highLevelStructure.3.2.ll @@ -41,7 +41,7 @@ declare void @ParamAttr3(i8* sret) declare void @ParamAttr4(i8 signext) ; CHECK: declare void @ParamAttr5(i8* inreg) declare void @ParamAttr5(i8* inreg) -; CHECK: declare void @ParamAttr6(i8* byval) +; CHECK: declare void @ParamAttr6(i8* byval(i8)) declare void @ParamAttr6(i8* byval) ; CHECK: declare void @ParamAttr7(i8* noalias) declare void @ParamAttr7(i8* noalias) @@ -51,7 +51,7 @@ declare void @ParamAttr8(i8* nocapture) declare void @ParamAttr9(i8* nest noalias nocapture) ; CHECK: declare void @ParamAttr10{{[(i8* sret noalias nocapture) | (i8* noalias nocapture sret)]}} declare void @ParamAttr10(i8* sret noalias nocapture) -;CHECK: declare void @ParamAttr11{{[(i8* byval noalias nocapture) | (i8* noalias nocapture byval)]}} +;CHECK: declare void @ParamAttr11{{[(i8* byval(i8) noalias nocapture) | (i8* noalias nocapture byval(i8))]}} declare void @ParamAttr11(i8* byval noalias nocapture) ;CHECK: declare void @ParamAttr12{{[(i8* inreg noalias nocapture) | (i8* noalias nocapture inreg)]}} declare void @ParamAttr12(i8* inreg noalias nocapture) |