diff options
author | Dan Gohman <gohman@apple.com> | 2010-12-15 23:53:55 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-12-15 23:53:55 +0000 |
commit | f4177aa0193d9bedc4f919b9322464bf3dee83ab (patch) | |
tree | ae85e0ed2903ab892d8ea591ca56757a07bfa8e4 /test/Transforms/GVN/preserve-tbaa.ll | |
parent | 3e333637f172c30adf5c8333b592fbde17ff9f78 (diff) | |
download | external_llvm-f4177aa0193d9bedc4f919b9322464bf3dee83ab.zip external_llvm-f4177aa0193d9bedc4f919b9322464bf3dee83ab.tar.gz external_llvm-f4177aa0193d9bedc4f919b9322464bf3dee83ab.tar.bz2 |
Preserve TBAA tags when doing load PRE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121921 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/GVN/preserve-tbaa.ll')
-rw-r--r-- | test/Transforms/GVN/preserve-tbaa.ll | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/Transforms/GVN/preserve-tbaa.ll b/test/Transforms/GVN/preserve-tbaa.ll new file mode 100644 index 0000000..2fcfc47 --- /dev/null +++ b/test/Transforms/GVN/preserve-tbaa.ll @@ -0,0 +1,28 @@ +; RUN: opt -tbaa -basicaa -gvn -S < %s | FileCheck %s + +target datalayout = "e-p:64:64:64" + +; GVN should preserve the TBAA tag on loads when doing PRE. + +; CHECK: @test +; CHECK: %tmp33.pre = load i16* undef, align 2, !tbaa !0 +; CHECK: br label %for.body +define void @test() nounwind { +entry: + br i1 undef, label %bb.nph, label %for.end + +bb.nph: ; preds = %entry + br label %for.body + +for.body: ; preds = %for.body, %bb.nph + %tmp33 = load i16* undef, align 2, !tbaa !0 + store i16 undef, i16* undef, align 2, !tbaa !0 + br i1 false, label %for.end, label %for.body + +for.end: ; preds = %for.body, %entry + ret void +} + +!0 = metadata !{metadata !"short", metadata !1} +!1 = metadata !{metadata !"omnipotent char", metadata !2} +!2 = metadata !{metadata !"Simple C/C++ TBAA", null} |