diff options
| author | Nick Lewycky <nicholas@mxc.ca> | 2013-07-07 10:15:16 +0000 |
|---|---|---|
| committer | Nick Lewycky <nicholas@mxc.ca> | 2013-07-07 10:15:16 +0000 |
| commit | c0514629c9c75c580598501675238c19ff8abac7 (patch) | |
| tree | 165687057cd1369f0e8a5b7ebe544f224c4125c2 /llvm/test | |
| parent | dba60e11fedd78bfe51c67e0428980aec736600c (diff) | |
| download | bcm5719-llvm-c0514629c9c75c580598501675238c19ff8abac7.tar.gz bcm5719-llvm-c0514629c9c75c580598501675238c19ff8abac7.zip | |
Eliminate trivial redundant loads across nocapture+readonly calls to uncaptured
pointer arguments.
llvm-svn: 185776
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/Transforms/GVN/readattrs.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/test/Transforms/GVN/readattrs.ll b/llvm/test/Transforms/GVN/readattrs.ll new file mode 100644 index 00000000000..7baee998613 --- /dev/null +++ b/llvm/test/Transforms/GVN/readattrs.ll @@ -0,0 +1,17 @@ +; RUN: opt -gvn -S -o - < %s | FileCheck %s + +target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" +target triple = "x86_64-unknown-linux-gnu" + +declare void @use(i8* readonly nocapture) + +define i8 @test() { + %a = alloca i8 + store i8 1, i8* %a + call void @use(i8* %a) + %b = load i8* %a + ret i8 %b +; CHECK: define i8 @test +; CHECK: call void @use(i8* %a) +; CHECK-NEXT: ret i8 1 +} |

