diff options
author | Roman Divacky <rdivacky@FreeBSD.org> | 2009-10-14 17:57:32 +0000 |
---|---|---|
committer | Roman Divacky <rdivacky@FreeBSD.org> | 2009-10-14 17:57:32 +0000 |
commit | 59850d0874429601812bc13408cb1f776649027c (patch) | |
tree | b21f6de4e08b89bb7931806bab798fc2a5e3a686 /test/Feature | |
parent | 18f153bdb9db52e7089a2d5293b96c45a3124a26 (diff) | |
download | src-59850d0874429601812bc13408cb1f776649027c.tar.gz src-59850d0874429601812bc13408cb1f776649027c.zip |
Update llvm to r84119.vendor/llvm/llvm-r84119
Notes
Notes:
svn path=/vendor/llvm/dist/; revision=198090
svn path=/vendor/llvm/llvm-84119/; revision=198091; tag=vendor/llvm/llvm-r84119
Diffstat (limited to 'test/Feature')
-rw-r--r-- | test/Feature/NamedMDNode.ll | 6 | ||||
-rw-r--r-- | test/Feature/NamedMDNode2.ll | 7 | ||||
-rw-r--r-- | test/Feature/float.ll | 6 | ||||
-rw-r--r-- | test/Feature/globalredefinition3.ll | 2 | ||||
-rw-r--r-- | test/Feature/inlineasm.ll | 6 | ||||
-rw-r--r-- | test/Feature/load_module.ll | 4 | ||||
-rw-r--r-- | test/Feature/md_on_instruction.ll | 23 | ||||
-rw-r--r-- | test/Feature/md_on_instruction2.ll | 22 | ||||
-rw-r--r-- | test/Feature/memorymarkers.ll | 36 | ||||
-rw-r--r-- | test/Feature/weak_constant.ll | 2 |
10 files changed, 104 insertions, 10 deletions
diff --git a/test/Feature/NamedMDNode.ll b/test/Feature/NamedMDNode.ll new file mode 100644 index 000000000000..56fc349d3e60 --- /dev/null +++ b/test/Feature/NamedMDNode.ll @@ -0,0 +1,6 @@ +; RUN: llvm-as < %s | llvm-dis | grep "llvm.stuff = " + +;; Simple NamedMDNode +!0 = metadata !{i32 42} +!1 = metadata !{metadata !"foo"} +!llvm.stuff = !{!0, !1} diff --git a/test/Feature/NamedMDNode2.ll b/test/Feature/NamedMDNode2.ll new file mode 100644 index 000000000000..0524dd27a4a9 --- /dev/null +++ b/test/Feature/NamedMDNode2.ll @@ -0,0 +1,7 @@ +; RUN: llvm-as < %s -o /dev/null +; PR4654 + + +@foo = constant i1 false +!0 = metadata !{i1 false} +!a = !{!0} diff --git a/test/Feature/float.ll b/test/Feature/float.ll index 632cfb741fa3..6c6c5dd53970 100644 --- a/test/Feature/float.ll +++ b/test/Feature/float.ll @@ -1,6 +1,6 @@ -; RUN: llvm-as < %s | llvm-dis > t1.ll -; RUN: llvm-as t1.ll -o - | llvm-dis > t2.ll -; RUN: diff t1.ll t2.ll +; RUN: llvm-as < %s | llvm-dis > %t1.ll +; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll +; RUN: diff %t1.ll %t2.ll @F1 = global float 0x4010000000000000 @D1 = global double 0x4010000000000000 diff --git a/test/Feature/globalredefinition3.ll b/test/Feature/globalredefinition3.ll index 0183e5a04f90..5a5b3f1f89ad 100644 --- a/test/Feature/globalredefinition3.ll +++ b/test/Feature/globalredefinition3.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as %s -o /dev/null -f |& grep {redefinition of global '@B'} +; RUN: not llvm-as %s -o /dev/null |& grep {redefinition of global '@B'} @B = global i32 7 @B = global i32 7 diff --git a/test/Feature/inlineasm.ll b/test/Feature/inlineasm.ll index e4318f775b6b..6be5722abfca 100644 --- a/test/Feature/inlineasm.ll +++ b/test/Feature/inlineasm.ll @@ -1,6 +1,6 @@ -; RUN: llvm-as < %s | llvm-dis > t1.ll -; RUN: llvm-as t1.ll -o - | llvm-dis > t2.ll -; RUN: diff t1.ll t2.ll +; RUN: llvm-as < %s | llvm-dis > %t1.ll +; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll +; RUN: diff %t1.ll %t2.ll module asm "this is an inline asm block" module asm "this is another inline asm block" diff --git a/test/Feature/load_module.ll b/test/Feature/load_module.ll index 356eceb285ea..e2e222f4edcf 100644 --- a/test/Feature/load_module.ll +++ b/test/Feature/load_module.ll @@ -1,6 +1,6 @@ ; PR1318 -; RUN: llvm-as < %s | opt -load=%llvmlibsdir/LLVMHello%shlibext -hello \ -; RUN: -disable-output - |& grep Hello +; RUN: opt < %s -load=%llvmlibsdir/LLVMHello%shlibext -hello \ +; RUN: -disable-output |& grep Hello @junk = global i32 0 diff --git a/test/Feature/md_on_instruction.ll b/test/Feature/md_on_instruction.ll new file mode 100644 index 000000000000..d765cd8fa1e0 --- /dev/null +++ b/test/Feature/md_on_instruction.ll @@ -0,0 +1,23 @@ +; RUN: llvm-as < %s -disable-output + +define i32 @foo() nounwind ssp { +entry: + %retval = alloca i32 ; <i32*> [#uses=2] + call void @llvm.dbg.func.start(metadata !0) + store i32 42, i32* %retval, !dbg !3 + br label %0, !dbg !3 + +; <label>:0 ; preds = %entry + call void @llvm.dbg.region.end(metadata !0) + %1 = load i32* %retval, !dbg !3 ; <i32> [#uses=1] + ret i32 %1, !dbg !3 +} + +declare void @llvm.dbg.func.start(metadata) nounwind readnone + +declare void @llvm.dbg.region.end(metadata) nounwind readnone + +!0 = metadata !{i32 458798, i32 0, metadata !1, metadata !"foo", metadata !"foo", metadata !"foo", metadata !1, i32 1, metadata !2, i1 false, i1 true} +!1 = metadata !{i32 458769, i32 0, i32 12, metadata !"foo.c", metadata !"/tmp", metadata !"clang 1.0", i1 true, i1 false, metadata !"", i32 0} +!2 = metadata !{i32 458788, metadata !1, metadata !"int", metadata !1, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} +!3 = metadata !{i32 1, i32 13, metadata !1, metadata !1} diff --git a/test/Feature/md_on_instruction2.ll b/test/Feature/md_on_instruction2.ll new file mode 100644 index 000000000000..da9e49ebfb2f --- /dev/null +++ b/test/Feature/md_on_instruction2.ll @@ -0,0 +1,22 @@ +; RUN: llvm-as < %s | llvm-dis | grep " !dbg " | count 4 +define i32 @foo() nounwind ssp { +entry: + %retval = alloca i32 ; <i32*> [#uses=2] + call void @llvm.dbg.func.start(metadata !0) + store i32 42, i32* %retval, !dbg !3 + br label %0, !dbg !3 + +; <label>:0 ; preds = %entry + call void @llvm.dbg.region.end(metadata !0) + %1 = load i32* %retval, !dbg !3 ; <i32> [#uses=1] + ret i32 %1, !dbg !3 +} + +declare void @llvm.dbg.func.start(metadata) nounwind readnone + +declare void @llvm.dbg.region.end(metadata) nounwind readnone + +!0 = metadata !{i32 458798, i32 0, metadata !1, metadata !"foo", metadata !"foo", metadata !"foo", metadata !1, i32 1, metadata !2, i1 false, i1 true} +!1 = metadata !{i32 458769, i32 0, i32 12, metadata !"foo.c", metadata !"/tmp", metadata !"clang 1.0", i1 true, i1 false, metadata !"", i32 0} +!2 = metadata !{i32 458788, metadata !1, metadata !"int", metadata !1, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} +!3 = metadata !{i32 1, i32 13, metadata !1, metadata !1} diff --git a/test/Feature/memorymarkers.ll b/test/Feature/memorymarkers.ll new file mode 100644 index 000000000000..06b8376678fa --- /dev/null +++ b/test/Feature/memorymarkers.ll @@ -0,0 +1,36 @@ +; RUN: llvm-as -disable-output < %s + +%"struct.std::pair<int,int>" = type { i32, i32 } + +declare void @_Z3barRKi(i32*) + +declare void @llvm.lifetime.start(i64, i8* nocapture) nounwind +declare void @llvm.lifetime.end(i64, i8* nocapture) nounwind +declare {}* @llvm.invariant.start(i64, i8* nocapture) readonly nounwind +declare void @llvm.invariant.end({}*, i64, i8* nocapture) nounwind + +define i32 @_Z4foo2v() nounwind { +entry: + %x = alloca %"struct.std::pair<int,int>" + %y = bitcast %"struct.std::pair<int,int>"* %x to i8* + + ;; Constructor starts here (this isn't needed since it is immediately + ;; preceded by an alloca, but shown for completeness). + call void @llvm.lifetime.start(i64 8, i8* %y) + + %0 = getelementptr %"struct.std::pair<int,int>"* %x, i32 0, i32 0 + store i32 4, i32* %0, align 8 + %1 = getelementptr %"struct.std::pair<int,int>"* %x, i32 0, i32 1 + store i32 5, i32* %1, align 4 + + ;; Constructor has finished here. + %inv = call {}* @llvm.invariant.start(i64 8, i8* %y) + call void @_Z3barRKi(i32* %0) nounwind + %2 = load i32* %0, align 8 + + ;; Destructor is run here. + call void @llvm.invariant.end({}* %inv, i64 8, i8* %y) + ;; Destructor is done here. + call void @llvm.lifetime.end(i64 8, i8* %y) + ret i32 %2 +} diff --git a/test/Feature/weak_constant.ll b/test/Feature/weak_constant.ll index d27adfefa57f..9025aaac797f 100644 --- a/test/Feature/weak_constant.ll +++ b/test/Feature/weak_constant.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -std-compile-opts | llvm-dis > %t +; RUN: opt < %s -std-compile-opts -S > %t ; RUN: grep undef %t | count 1 ; RUN: grep 5 %t | count 1 ; RUN: grep 7 %t | count 1 |