diff options
author | rdivacky <rdivacky@FreeBSD.org> | 2009-10-14 17:57:32 +0000 |
---|---|---|
committer | rdivacky <rdivacky@FreeBSD.org> | 2009-10-14 17:57:32 +0000 |
commit | cd749a9c07f1de2fb8affde90537efa4bc3e7c54 (patch) | |
tree | b21f6de4e08b89bb7931806bab798fc2a5e3a686 /test/Feature | |
parent | 72621d11de5b873f1695f391eb95f0b336c3d2d4 (diff) | |
download | FreeBSD-src-cd749a9c07f1de2fb8affde90537efa4bc3e7c54.zip FreeBSD-src-cd749a9c07f1de2fb8affde90537efa4bc3e7c54.tar.gz |
Update llvm to 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 0000000..56fc349 --- /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 0000000..0524dd2 --- /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 632cfb7..6c6c5dd 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 0183e5a..5a5b3f1 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 e4318f7..6be5722 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 356eceb..e2e222f 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 0000000..d765cd8 --- /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 0000000..da9e49e --- /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 0000000..06b8376 --- /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 d27adfe..9025aaa 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 |