diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2011-07-17 15:36:56 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2011-07-17 15:36:56 +0000 |
| commit | 411bd29eea3c360d5b48a18a17b5e87f5671af0e (patch) | |
| tree | c8086addb211fa670a9d2b1038d8c2e453229755 /test/Feature | |
| parent | 56fe8f14099930935e3870e3e823c322a85c1c89 (diff) | |
Notes
Diffstat (limited to 'test/Feature')
| -rw-r--r-- | test/Feature/alignment.ll | 9 | ||||
| -rw-r--r-- | test/Feature/calltest.ll | 2 | ||||
| -rw-r--r-- | test/Feature/forwardreftest.ll | 6 | ||||
| -rw-r--r-- | test/Feature/globalredefinition.ll | 18 | ||||
| -rw-r--r-- | test/Feature/globalvars.ll | 4 | ||||
| -rw-r--r-- | test/Feature/noalias-ret.ll | 6 | ||||
| -rw-r--r-- | test/Feature/opaquetypes.ll | 55 | ||||
| -rw-r--r-- | test/Feature/paramattrs.ll | 14 | ||||
| -rw-r--r-- | test/Feature/testmemory.ll | 36 | ||||
| -rw-r--r-- | test/Feature/testtype.ll | 6 | ||||
| -rw-r--r-- | test/Feature/weak_constant.ll | 2 |
11 files changed, 17 insertions, 141 deletions
diff --git a/test/Feature/alignment.ll b/test/Feature/alignment.ll index ef35a1344a2f..f6dbe33b24ba 100644 --- a/test/Feature/alignment.ll +++ b/test/Feature/alignment.ll @@ -10,15 +10,6 @@ define i32* @test() align 32 { %Z = alloca i32 ; <i32*> [#uses=0] ret i32* %X } - -define i32* @test2() { - %X = malloc i32, align 4 ; <i32*> [#uses=1] - %Y = malloc i32, i32 42, align 16 ; <i32*> [#uses=0] - %Z = malloc i32 ; <i32*> [#uses=0] - %T = malloc i32, align 256 ; <i32*> [#uses=0] - ret i32* %X -} - define void @test3() alignstack(16) { ret void } diff --git a/test/Feature/calltest.ll b/test/Feature/calltest.ll index feafd3cd2084..dcdb1a0ae11c 100644 --- a/test/Feature/calltest.ll +++ b/test/Feature/calltest.ll @@ -4,8 +4,6 @@ %FunTy = type i32 (i32) -declare i32 @test(i32) ; Test forward declaration merging - define void @invoke(%FunTy* %x) { %foo = call i32 %x( i32 123 ) ; <i32> [#uses=0] %foo2 = tail call i32 %x( i32 123 ) ; <i32> [#uses=0] diff --git a/test/Feature/forwardreftest.ll b/test/Feature/forwardreftest.ll index 26d214ae8835..6ca1be79e461 100644 --- a/test/Feature/forwardreftest.ll +++ b/test/Feature/forwardreftest.ll @@ -4,9 +4,9 @@ %myty = type i32 %myfn = type float (i32,double,i32,i16) -type i32(%myfn*) -type i32(i32) -type i32(i32(i32)*) +%0 = type i32(%myfn*) +%1 = type i32(i32) +%2 = type i32(i32(i32)*) %thisfuncty = type i32 (i32) * diff --git a/test/Feature/globalredefinition.ll b/test/Feature/globalredefinition.ll deleted file mode 100644 index 42e2d1aeee7c..000000000000 --- a/test/Feature/globalredefinition.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-as < %s | llvm-dis > %t1.ll -; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll -; RUN: diff %t1.ll %t2.ll - -; Test forward references and redefinitions of globals - -@A = global i32* @B ; <i32**> [#uses=0] -@B = global i32 7 ; <i32*> [#uses=1] - -declare void @X() - -declare void @X() - -define void @X() { - ret void -} - -declare void @X() diff --git a/test/Feature/globalvars.ll b/test/Feature/globalvars.ll index 9a23775269b1..dad1cf31d5e6 100644 --- a/test/Feature/globalvars.ll +++ b/test/Feature/globalvars.ll @@ -3,7 +3,7 @@ ; RUN: diff %t1.ll %t2.ll @MyVar = external global i32 ; <i32*> [#uses=1] -@MyIntList = external global { \2*, i32 } ; <{ \2*, i32 }*> [#uses=1] +@MyIntList = external global { i32*, i32 } ; <{ \2*, i32 }*> [#uses=1] external global i32 ; <i32*>:0 [#uses=0] @AConst = constant i32 123 ; <i32*> [#uses=0] @AString = constant [4 x i8] c"test" ; <[4 x i8]*> [#uses=0] @@ -11,7 +11,7 @@ external global i32 ; <i32*>:0 [#uses=0] define i32 @foo(i32 %blah) { store i32 5, i32* @MyVar - %idx = getelementptr { \2*, i32 }* @MyIntList, i64 0, i32 1 ; <i32*> [#uses=1] + %idx = getelementptr { i32*, i32 }* @MyIntList, i64 0, i32 1 ; <i32*> [#uses=1] store i32 12, i32* %idx ret i32 %blah } diff --git a/test/Feature/noalias-ret.ll b/test/Feature/noalias-ret.ll deleted file mode 100644 index d88452b79761..000000000000 --- a/test/Feature/noalias-ret.ll +++ /dev/null @@ -1,6 +0,0 @@ -; RUN: llvm-as < %s - -define noalias i8* @_Znwj(i32 %x) nounwind { - %A = malloc i8, i32 %x - ret i8* %A -} diff --git a/test/Feature/opaquetypes.ll b/test/Feature/opaquetypes.ll deleted file mode 100644 index 6539c1a6e1ca..000000000000 --- a/test/Feature/opaquetypes.ll +++ /dev/null @@ -1,55 +0,0 @@ -; RUN: llvm-as < %s | llvm-dis > %t1.ll -; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll -; RUN: diff %t1.ll %t2.ll - -; This test case is used to test opaque type processing, forward references, -; and recursive types. Oh my. -; - -%SQ1 = type { i32 } -%SQ2 = type { %ITy } -%ITy = type i32 - - -%CCC = type { \2* } -%BBB = type { \2*, \2 * } -%AAA = type { \2*, {\2*}, [12x{\2*}], {[1x{\2*}]} } - -; Test numbered types -type %CCC -type %BBB -%Composite = type { %0, %1 } - -; Test simple opaque type resolution... -%intty = type i32 - -; Perform a simple forward reference... -%ty1 = type { %ty2, i32 } -%ty2 = type float - -; Do a recursive type... -%list = type { %list * } -%listp = type { %listp } * - -; Do two mutually recursive types... -%TyA = type { %ty2, %TyB * } -%TyB = type { double, %TyA * } - -; A complex recursive type... -%Y = type { {%Y*}, %Y* } -%Z = type { { %Z * }, [12x%Z] *, {{{ %Z * }}} } - -; More ridiculous test cases... -%A = type [ 123x %A*] -%M = type %M (%M, %M) * -%P = type %P* - -; Recursive ptrs -%u = type %v* -%v = type %u* - -; Test the parser for unnamed recursive types... -%P1 = type \1 * -%Y1 = type { { \3 * }, \2 * } -%Z1 = type { { \3 * }, [12x\3] *, { { { \5 * } } } } - diff --git a/test/Feature/paramattrs.ll b/test/Feature/paramattrs.ll index 3bee6177e0b6..9860f5a6a5bf 100644 --- a/test/Feature/paramattrs.ll +++ b/test/Feature/paramattrs.ll @@ -2,11 +2,11 @@ ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll ; RUN: diff %t1.ll %t2.ll -%ZFunTy = type i32(i8 zeroext) -%SFunTy = type i32(i8 signext) +%ZFunTy = type i32(i8) +%SFunTy = type i32(i8) -declare i16 @"test"(i16 signext %arg) signext -declare i8 @"test2" (i16 zeroext %a2) zeroext +declare signext i16 @"test"(i16 signext %arg) +declare zeroext i8 @"test2" (i16 zeroext %a2) declare i32 @"test3"(i32* noalias %p) @@ -14,9 +14,11 @@ declare void @exit(i32) noreturn nounwind define i32 @main(i32 inreg %argc, i8 ** inreg %argv) nounwind { %val = trunc i32 %argc to i16 - %res1 = call i16 (i16 signext) signext *@test(i16 signext %val) signext + %res1 = call signext i16 (i16 ) *@test(i16 signext %val) %two = add i16 %res1, %res1 - %res2 = call i8 @test2(i16 %two zeroext) zeroext + %res2 = call zeroext i8 @test2(i16 zeroext %two ) %retVal = sext i16 %two to i32 ret i32 %retVal } + +declare void @function_to_resolve_eagerly() nonlazybind diff --git a/test/Feature/testmemory.ll b/test/Feature/testmemory.ll deleted file mode 100644 index a9019f0bd3e8..000000000000 --- a/test/Feature/testmemory.ll +++ /dev/null @@ -1,36 +0,0 @@ -; RUN: llvm-as < %s | llvm-dis > %t1.ll -; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll -; RUN: diff %t1.ll %t2.ll - - - %complexty = type { i32, { [4 x i8*], float }, double } - %struct = type { i32, { float, { i8 } }, i64 } - -define i32 @main() { - call i32 @testfunction( i64 0, i64 1 ) ; <i32>:1 [#uses=0] - ret i32 0 -} - -define i32 @testfunction(i64 %i0, i64 %j0) { - %array0 = malloc [4 x i8] ; <[4 x i8]*> [#uses=2] - %size = add i32 2, 2 ; <i32> [#uses=1] - %array1 = malloc i8, i32 4 ; <i8*> [#uses=1] - %array2 = malloc i8, i32 %size ; <i8*> [#uses=1] - %idx = getelementptr [4 x i8]* %array0, i64 0, i64 2 ; <i8*> [#uses=1] - store i8 123, i8* %idx - free [4 x i8]* %array0 - free i8* %array1 - free i8* %array2 - %aa = alloca %complexty, i32 5 ; <%complexty*> [#uses=1] - %idx2 = getelementptr %complexty* %aa, i64 %i0, i32 1, i32 0, i64 %j0 ; <i8**> [#uses=1] - store i8* null, i8** %idx2 - %ptr = alloca i32 ; <i32*> [#uses=2] - store i32 3, i32* %ptr - %val = load i32* %ptr ; <i32> [#uses=0] - %sptr = alloca %struct ; <%struct*> [#uses=1] - %ubsptr = getelementptr %struct* %sptr, i64 0, i32 1, i32 1 ; <{ i8 }*> [#uses=1] - %idx3 = getelementptr { i8 }* %ubsptr, i64 0, i32 0 ; <i8*> [#uses=1] - store i8 4, i8* %idx3 - ret i32 3 -} - diff --git a/test/Feature/testtype.ll b/test/Feature/testtype.ll index 124aa090ec93..cdeb5a017cfa 100644 --- a/test/Feature/testtype.ll +++ b/test/Feature/testtype.ll @@ -7,13 +7,13 @@ %inners = type { float, { i8 } } %struct = type { i32, %inners, i64 } -%fwdref = type { %fwd* } %fwd = type %fwdref* +%fwdref = type { %fwd* } ; same as above with unnamed types -type { %1* } -type %0* +%1 = type %0* %test = type %1 +%0 = type { %1* } %test2 = type [2 x i32] ;%x = type %undefined* diff --git a/test/Feature/weak_constant.ll b/test/Feature/weak_constant.ll index 9025aaac797f..fba7f12e1dee 100644 --- a/test/Feature/weak_constant.ll +++ b/test/Feature/weak_constant.ll @@ -4,7 +4,7 @@ ; RUN: grep 7 %t | count 1 ; RUN: grep 9 %t | count 1 - type { i32, i32 } ; type %0 + %0 = type { i32, i32 } ; type %0 @a = weak constant i32 undef ; <i32*> [#uses=1] @b = weak constant i32 5 ; <i32*> [#uses=1] @c = weak constant %0 { i32 7, i32 9 } ; <%0*> [#uses=1] |
