diff options
Diffstat (limited to 'test/Assembler')
33 files changed, 89 insertions, 46 deletions
diff --git a/test/Assembler/2003-04-15-ConstantInitAssertion.ll b/test/Assembler/2003-04-15-ConstantInitAssertion.ll index fa6b807..dddbdb1 100644 --- a/test/Assembler/2003-04-15-ConstantInitAssertion.ll +++ b/test/Assembler/2003-04-15-ConstantInitAssertion.ll @@ -1,4 +1,5 @@ -; RUN: not llvm-as < %s >/dev/null |& grep {struct initializer doesn't match struct element type} +; RUN: not llvm-as < %s >/dev/null 2> %t +; RUN: grep "struct initializer doesn't match struct element type" %t ; Test the case of a misformed constant initializer ; This should cause an assembler error, not an assertion failure! constant { i32 } { float 1.0 } diff --git a/test/Assembler/2003-05-21-MalformedShiftCrash.ll b/test/Assembler/2003-05-21-MalformedShiftCrash.ll index a845d89..1d4ac40 100644 --- a/test/Assembler/2003-05-21-MalformedShiftCrash.ll +++ b/test/Assembler/2003-05-21-MalformedShiftCrash.ll @@ -1,4 +1,5 @@ ; Found by inspection of the code -; RUN: not llvm-as < %s > /dev/null |& grep {constexpr requires integer operands} +; RUN: not llvm-as < %s > /dev/null 2> %t +; RUN: grep "constexpr requires integer operands" %t global i32 ashr (float 1.0, float 2.0) diff --git a/test/Assembler/2003-05-21-MalformedStructCrash.ll b/test/Assembler/2003-05-21-MalformedStructCrash.ll index 8d20e070..44d3e23 100644 --- a/test/Assembler/2003-05-21-MalformedStructCrash.ll +++ b/test/Assembler/2003-05-21-MalformedStructCrash.ll @@ -1,4 +1,5 @@ ; Found by inspection of the code -; RUN: not llvm-as < %s > /dev/null |& grep {initializer with struct type has wrong # elements} +; RUN: not llvm-as < %s > /dev/null 2> %t +; RUN: grep "initializer with struct type has wrong # elements" %t global {} { i32 7, float 1.0, i32 7, i32 8 } diff --git a/test/Assembler/2003-06-17-InvokeDisassemble.ll b/test/Assembler/2003-06-17-InvokeDisassemble.ll deleted file mode 100644 index 8a9670e..0000000 --- a/test/Assembler/2003-06-17-InvokeDisassemble.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-as < %s | llvm-dis - -define void @test() { - invoke void @test( ) - to label %Next unwind label %Next - -Next: ; preds = %0, %0 - %lpad = landingpad { i8*, i32 } personality i32 (...)* @__gxx_personality_v0 - cleanup - ret void -} - -declare i32 @__gxx_personality_v0(...) diff --git a/test/Assembler/2003-11-12-ConstantExprCast.ll b/test/Assembler/2003-11-12-ConstantExprCast.ll index 149fef2..47a5353 100644 --- a/test/Assembler/2003-11-12-ConstantExprCast.ll +++ b/test/Assembler/2003-11-12-ConstantExprCast.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llvm-dis | not grep { bitcast (} +; RUN: llvm-as < %s | llvm-dis | not grep " bitcast (" @.Base64_1 = external constant [4 x i8] ; <[4 x i8]*> [#uses=1] diff --git a/test/Assembler/2003-11-24-SymbolTableCrash.ll b/test/Assembler/2003-11-24-SymbolTableCrash.ll index 041b0d9..28fd301 100644 --- a/test/Assembler/2003-11-24-SymbolTableCrash.ll +++ b/test/Assembler/2003-11-24-SymbolTableCrash.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as < %s |& grep {multiple definition} +; RUN: not llvm-as < %s 2>&1 | grep "multiple definition" define void @test() { %tmp.1 = add i32 0, 1 diff --git a/test/Assembler/2004-01-11-getelementptrfolding.ll b/test/Assembler/2004-01-11-getelementptrfolding.ll index c22aede..5249d0e 100644 --- a/test/Assembler/2004-01-11-getelementptrfolding.ll +++ b/test/Assembler/2004-01-11-getelementptrfolding.ll @@ -1,5 +1,5 @@ ; RUN: llvm-as < %s | llvm-dis | \ -; RUN: not grep {getelementptr.*getelementptr} +; RUN: not grep "getelementptr.*getelementptr" %struct.TTriangleItem = type { i8*, i8*, [3 x %struct.TUVVertex] } %struct.TUVVertex = type { i16, i16, i16, i16 } diff --git a/test/Assembler/2004-03-30-UnclosedFunctionCrash.ll b/test/Assembler/2004-03-30-UnclosedFunctionCrash.ll index 775b755..9f24f1a 100644 --- a/test/Assembler/2004-03-30-UnclosedFunctionCrash.ll +++ b/test/Assembler/2004-03-30-UnclosedFunctionCrash.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as %s |& grep {found end of file when expecting more instructions} +; RUN: not llvm-as %s 2>&1 | grep "found end of file when expecting more instructions" define void @foo() { diff --git a/test/Assembler/2004-11-28-InvalidTypeCrash.ll b/test/Assembler/2004-11-28-InvalidTypeCrash.ll index 40648fd..4db5b74 100644 --- a/test/Assembler/2004-11-28-InvalidTypeCrash.ll +++ b/test/Assembler/2004-11-28-InvalidTypeCrash.ll @@ -1,4 +1,4 @@ ; Test for PR463. This program is erroneous, but should not crash llvm-as. -; RUN: not llvm-as %s -o /dev/null |& grep {use of undefined type named 'struct.none'} +; RUN: not llvm-as %s -o /dev/null 2>&1 | grep "use of undefined type named 'struct.none'" @.FOO = internal global %struct.none zeroinitializer diff --git a/test/Assembler/2006-09-28-CrashOnInvalid.ll b/test/Assembler/2006-09-28-CrashOnInvalid.ll index a203c6a..6041bdf 100644 --- a/test/Assembler/2006-09-28-CrashOnInvalid.ll +++ b/test/Assembler/2006-09-28-CrashOnInvalid.ll @@ -1,6 +1,7 @@ ; Test for PR902. This program is erroneous, but should not crash llvm-as. ; This tests that a simple error is caught and processed correctly. -; RUN: not llvm-as < %s >/dev/null |& grep {floating point constant invalid for type} +; RUN: not llvm-as < %s >/dev/null 2> %t +; RUN: grep "floating point constant invalid for type" %t define void @test() { add i32 1, 2.0 diff --git a/test/Assembler/2007-01-02-Undefined-Arg-Type.ll b/test/Assembler/2007-01-02-Undefined-Arg-Type.ll index a39de1c..184e543 100644 --- a/test/Assembler/2007-01-02-Undefined-Arg-Type.ll +++ b/test/Assembler/2007-01-02-Undefined-Arg-Type.ll @@ -1,5 +1,5 @@ ; The assembler should catch an undefined argument type . -; RUN: not llvm-as %s -o /dev/null |& grep {use of undefined type named 'typedef.bc_struct'} +; RUN: not llvm-as %s -o /dev/null 2>&1 | grep "use of undefined type named 'typedef.bc_struct'" ; %typedef.bc_struct = type opaque diff --git a/test/Assembler/2007-01-16-CrashOnBadCast.ll b/test/Assembler/2007-01-16-CrashOnBadCast.ll index 81f5458..aa74144 100644 --- a/test/Assembler/2007-01-16-CrashOnBadCast.ll +++ b/test/Assembler/2007-01-16-CrashOnBadCast.ll @@ -1,5 +1,5 @@ ; PR1117 -; RUN: not llvm-as %s -o /dev/null |& grep {invalid cast opcode for cast from} +; RUN: not llvm-as %s -o /dev/null 2>&1 | grep "invalid cast opcode for cast from" define i8* @nada(i64 %X) { %result = trunc i64 %X to i8* diff --git a/test/Assembler/2007-01-16-CrashOnBadCast2.ll b/test/Assembler/2007-01-16-CrashOnBadCast2.ll index c05c609..479bef7 100644 --- a/test/Assembler/2007-01-16-CrashOnBadCast2.ll +++ b/test/Assembler/2007-01-16-CrashOnBadCast2.ll @@ -1,4 +1,4 @@ ; PR1117 -; RUN: not llvm-as %s -o /dev/null |& grep {invalid cast opcode for cast from} +; RUN: not llvm-as %s -o /dev/null 2>&1 | grep "invalid cast opcode for cast from" @X = constant i8* trunc (i64 0 to i8*) diff --git a/test/Assembler/2007-03-18-InvalidNumberedVar.ll b/test/Assembler/2007-03-18-InvalidNumberedVar.ll index b2193b1..0f6b24d 100644 --- a/test/Assembler/2007-03-18-InvalidNumberedVar.ll +++ b/test/Assembler/2007-03-18-InvalidNumberedVar.ll @@ -1,5 +1,6 @@ ; PR 1258 -; RUN: not llvm-as < %s >/dev/null |& grep {'%0' defined with type 'i1'} +; RUN: not llvm-as < %s >/dev/null 2> %t +; RUN: grep "'%0' defined with type 'i1'" %t define i32 @test1(i32 %a, i32 %b) { entry: diff --git a/test/Assembler/2007-03-19-NegValue.ll b/test/Assembler/2007-03-19-NegValue.ll index e90cf35..64eb3cb 100644 --- a/test/Assembler/2007-03-19-NegValue.ll +++ b/test/Assembler/2007-03-19-NegValue.ll @@ -1,5 +1,5 @@ ; Test whether negative values > 64 bits retain their negativeness. -; RUN: llvm-as < %s | llvm-dis | grep {add i65.*, -1} +; RUN: llvm-as < %s | llvm-dis | grep "add i65.*, -1" define i65 @testConsts(i65 %N) { %a = add i65 %N, -1 diff --git a/test/Assembler/2007-04-20-AlignedLoad.ll b/test/Assembler/2007-04-20-AlignedLoad.ll index f0217ae..98a5428 100644 --- a/test/Assembler/2007-04-20-AlignedLoad.ll +++ b/test/Assembler/2007-04-20-AlignedLoad.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llvm-dis | grep {align 1024} +; RUN: llvm-as < %s | llvm-dis | grep "align 1024" define i32 @test(i32* %arg) { entry: diff --git a/test/Assembler/2007-04-20-AlignedStore.ll b/test/Assembler/2007-04-20-AlignedStore.ll index 1b08c48..9e4dd9f 100644 --- a/test/Assembler/2007-04-20-AlignedStore.ll +++ b/test/Assembler/2007-04-20-AlignedStore.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llvm-dis | grep {align 1024} +; RUN: llvm-as < %s | llvm-dis | grep "align 1024" define void @test(i32* %arg) { entry: diff --git a/test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll b/test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll index c26d9eb..b0ca1aa 100644 --- a/test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll +++ b/test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llvm-dis | grep {icmp.*test_weak.*null} +; RUN: llvm-as < %s | llvm-dis | grep "icmp.*test_weak.*null" ; PR1358 @G = global i1 icmp ne (i32 (...)* @test_weak, i32 (...)* null) diff --git a/test/Assembler/2007-08-06-AliasInvalid.ll b/test/Assembler/2007-08-06-AliasInvalid.ll index 9409598..3abdc41 100644 --- a/test/Assembler/2007-08-06-AliasInvalid.ll +++ b/test/Assembler/2007-08-06-AliasInvalid.ll @@ -1,4 +1,5 @@ -; RUN: not llvm-as < %s > /dev/null |& grep {expected top-level entity} +; RUN: not llvm-as < %s > /dev/null 2> %t +; RUN: grep "expected top-level entity" %t ; PR1577 @anInt = global i32 1 diff --git a/test/Assembler/2007-09-29-GC.ll b/test/Assembler/2007-09-29-GC.ll index 789a0fe..9aefd0b 100644 --- a/test/Assembler/2007-09-29-GC.ll +++ b/test/Assembler/2007-09-29-GC.ll @@ -1,5 +1,5 @@ -; RUN: llvm-as < %s | llvm-dis | grep {@f.*gc.*shadowstack} -; RUN: llvm-as < %s | llvm-dis | grep {@g.*gc.*java} +; RUN: llvm-as < %s | llvm-dis | grep "@f.*gc.*shadowstack" +; RUN: llvm-as < %s | llvm-dis | grep "@g.*gc.*java" define void @f() gc "shadowstack" { entry: diff --git a/test/Assembler/2007-12-11-AddressSpaces.ll b/test/Assembler/2007-12-11-AddressSpaces.ll index 0eb4a79..7c9b5b5 100644 --- a/test/Assembler/2007-12-11-AddressSpaces.ll +++ b/test/Assembler/2007-12-11-AddressSpaces.ll @@ -1,8 +1,8 @@ -; RUN: llvm-as < %s | llvm-dis | grep {addrspace(33)} | count 7 -; RUN: llvm-as < %s | llvm-dis | grep {addrspace(42)} | count 2 -; RUN: llvm-as < %s | llvm-dis | grep {addrspace(66)} | count 2 -; RUN: llvm-as < %s | llvm-dis | grep {addrspace(11)} | count 6 -; RUN: llvm-as < %s | llvm-dis | grep {addrspace(22)} | count 5 +; RUN: llvm-as < %s | llvm-dis | grep "addrspace(33)" | count 7 +; RUN: llvm-as < %s | llvm-dis | grep "addrspace(42)" | count 2 +; RUN: llvm-as < %s | llvm-dis | grep "addrspace(66)" | count 2 +; RUN: llvm-as < %s | llvm-dis | grep "addrspace(11)" | count 6 +; RUN: llvm-as < %s | llvm-dis | grep "addrspace(22)" | count 5 %struct.mystruct = type { i32, i32 addrspace(33)*, i32, i32 addrspace(33)* } @input = weak addrspace(42) global %struct.mystruct zeroinitializer ; <%struct.mystruct addrspace(42)*> [#uses=1] diff --git a/test/Assembler/2008-02-18-IntPointerCrash.ll b/test/Assembler/2008-02-18-IntPointerCrash.ll index 5a661ad..4a33c36 100644 --- a/test/Assembler/2008-02-18-IntPointerCrash.ll +++ b/test/Assembler/2008-02-18-IntPointerCrash.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as %s |& grep {integer constant must have integer type} +; RUN: not llvm-as %s 2>&1 | grep "integer constant must have integer type" ; PR2060 define i8* @foo() { diff --git a/test/Assembler/2008-09-02-FunctionNotes2.ll b/test/Assembler/2008-09-02-FunctionNotes2.ll index 8a49e89..97351e2 100644 --- a/test/Assembler/2008-09-02-FunctionNotes2.ll +++ b/test/Assembler/2008-09-02-FunctionNotes2.ll @@ -1,5 +1,5 @@ ; Test function notes -; RUN: not llvm-as %s -o /dev/null |& grep "Attributes noinline alwaysinline are incompatible" +; RUN: not llvm-as %s -o /dev/null 2>&1 | grep "Attributes noinline alwaysinline are incompatible" define void @fn1() alwaysinline noinline { ret void } diff --git a/test/Assembler/ConstantExprFold.ll b/test/Assembler/ConstantExprFold.ll index d3d374a..fc18ce7 100644 --- a/test/Assembler/ConstantExprFold.ll +++ b/test/Assembler/ConstantExprFold.ll @@ -1,7 +1,7 @@ ; This test checks to make sure that constant exprs fold in some simple ; situations -; RUN: llvm-as < %s | llvm-dis | not grep {(} +; RUN: llvm-as < %s | llvm-dis | not grep "(" @A = global i64 0 diff --git a/test/Assembler/extractvalue-invalid-idx.ll b/test/Assembler/extractvalue-invalid-idx.ll index 9a215f7..b5a398c 100644 --- a/test/Assembler/extractvalue-invalid-idx.ll +++ b/test/Assembler/extractvalue-invalid-idx.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as < %s |& FileCheck %s +; RUN: not llvm-as < %s 2>&1 | FileCheck %s ; PR4170 ; CHECK: invalid indices for extractvalue diff --git a/test/Assembler/getelementptr_struct.ll b/test/Assembler/getelementptr_struct.ll index bfebf29..0293672 100644 --- a/test/Assembler/getelementptr_struct.ll +++ b/test/Assembler/getelementptr_struct.ll @@ -1,4 +1,5 @@ -; RUN: not llvm-as < %s >/dev/null |& FileCheck %s +; RUN: not llvm-as < %s >/dev/null 2> %t +; RUN: FileCheck %s < %t ; Test the case of a incorrect indices type into struct ; CHECK: invalid getelementptr indices diff --git a/test/Assembler/half-constprop.ll b/test/Assembler/half-constprop.ll new file mode 100644 index 0000000..03ccdda --- /dev/null +++ b/test/Assembler/half-constprop.ll @@ -0,0 +1,17 @@ +; RUN: llvm-as < %s | opt -O3 | llvm-dis | FileCheck %s +; Testing half constant propagation. + +define half @abc() nounwind { +entry: + %a = alloca half, align 2 + %b = alloca half, align 2 + %.compoundliteral = alloca float, align 4 + store half 0xH4200, half* %a, align 2 + store half 0xH4B9A, half* %b, align 2 + %tmp = load half* %a, align 2 + %tmp1 = load half* %b, align 2 + %add = fadd half %tmp, %tmp1 +; CHECK: 0xH4C8D + ret half %add +} + diff --git a/test/Assembler/half-conv.ll b/test/Assembler/half-conv.ll new file mode 100644 index 0000000..bf9ae57 --- /dev/null +++ b/test/Assembler/half-conv.ll @@ -0,0 +1,13 @@ +; RUN: llvm-as < %s | opt -O3 | llvm-dis | FileCheck %s +; Testing half to float conversion. + +define float @abc() nounwind { +entry: + %a = alloca half, align 2 + %.compoundliteral = alloca float, align 4 + store half 0xH4C8D, half* %a, align 2 + %tmp = load half* %a, align 2 + %conv = fpext half %tmp to float +; CHECK: 0x4032340000000000 + ret float %conv +} diff --git a/test/Assembler/half.ll b/test/Assembler/half.ll new file mode 100644 index 0000000..63ad392 --- /dev/null +++ b/test/Assembler/half.ll @@ -0,0 +1,8 @@ +; RUN: llvm-as < %s | llvm-dis | FileCheck %s +; Basic smoke test for half type. + +; CHECK: define half @halftest +define half @halftest(half %A0) { +; CHECK: ret half %A0 + ret half %A0 +} diff --git a/test/Assembler/insertvalue-invalid-idx.ll b/test/Assembler/insertvalue-invalid-idx.ll index 355d4e8..74642f4 100644 --- a/test/Assembler/insertvalue-invalid-idx.ll +++ b/test/Assembler/insertvalue-invalid-idx.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as < %s |& FileCheck %s +; RUN: not llvm-as < %s 2>&1 | FileCheck %s ; CHECK: invalid indices for insertvalue diff --git a/test/Assembler/invalid_cast.ll b/test/Assembler/invalid_cast.ll index f682835..91e81c7 100644 --- a/test/Assembler/invalid_cast.ll +++ b/test/Assembler/invalid_cast.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as < %s |& FileCheck %s +; RUN: not llvm-as < %s 2>&1 | FileCheck %s ; CHECK: invalid cast opcode for cast from '<4 x i64>' to '<3 x i8>' diff --git a/test/Assembler/invalid_cast2.ll b/test/Assembler/invalid_cast2.ll index a01b935..5ce9546 100644 --- a/test/Assembler/invalid_cast2.ll +++ b/test/Assembler/invalid_cast2.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as < %s |& FileCheck %s +; RUN: not llvm-as < %s 2>&1 | FileCheck %s ; CHECK: invalid cast opcode for cast from '<4 x i64>' to 'i8' diff --git a/test/Assembler/tls-models.ll b/test/Assembler/tls-models.ll new file mode 100644 index 0000000..42f2496 --- /dev/null +++ b/test/Assembler/tls-models.ll @@ -0,0 +1,11 @@ +; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s + +; CHECK: @a = thread_local global i32 0 +; CHECK: @b = thread_local(localdynamic) global i32 0 +; CHECK: @c = thread_local(initialexec) global i32 0 +; CHECK: @d = thread_local(localexec) global i32 0 + +@a = thread_local global i32 0 +@b = thread_local(localdynamic) global i32 0 +@c = thread_local(initialexec) global i32 0 +@d = thread_local(localexec) global i32 0 |