diff options
| author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-05-27 19:03:10 +0000 |
|---|---|---|
| committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-05-27 19:03:10 +0000 |
| commit | 6fff9dc932a708d0a5c78073e855f94990bffffc (patch) | |
| tree | 31e7537325aa0128d0aff00bd22914694d4587d0 /llvm/test/Transforms | |
| parent | a75c77b127784476900e9d0c302aea026e039221 (diff) | |
| download | bcm5719-llvm-6fff9dc932a708d0a5c78073e855f94990bffffc.tar.gz bcm5719-llvm-6fff9dc932a708d0a5c78073e855f94990bffffc.zip | |
[GVN] Preserve !range metadata when PRE'ing loads
Reviewers: dberlin, reames, george.burgess.iv
Subscribers: mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D20743
llvm-svn: 271034
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/GVN/load-metadata.ll | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/Transforms/GVN/load-metadata.ll b/llvm/test/Transforms/GVN/load-metadata.ll new file mode 100644 index 00000000000..3294cda7ee9 --- /dev/null +++ b/llvm/test/Transforms/GVN/load-metadata.ll @@ -0,0 +1,24 @@ +; RUN: opt -S -gvn < %s | FileCheck %s + +define i32 @test1(i32* %p, i1 %C) { +; CHECK-LABEL: @test1( +block1: + br i1 %C, label %block2, label %block3 + +block2: + br label %block4 +; CHECK: block2: +; CHECK-NEXT: load i32, i32* %p, !range !0, !invariant.group !1 + +block3: + store i32 0, i32* %p + br label %block4 + +block4: + %PRE = load i32, i32* %p, !range !0, !invariant.group !1 + ret i32 %PRE +} + + +!0 = !{i32 40, i32 100} +!1 = !{!"magic ptr"} |

