diff options
author | Artur Pilipenko <apilipenko@azulsystems.com> | 2015-09-18 12:33:31 +0000 |
---|---|---|
committer | Artur Pilipenko <apilipenko@azulsystems.com> | 2015-09-18 12:33:31 +0000 |
commit | 84bc62f7a350ab9a513f5ee28e22ac4e34b1503d (patch) | |
tree | d27231d5454dd1b275f22f235e64722afbaa40b4 /llvm/test/Analysis | |
parent | eda0a48e53cdc24b911609890bdc41103afe32c0 (diff) | |
download | bcm5719-llvm-84bc62f7a350ab9a513f5ee28e22ac4e34b1503d.tar.gz bcm5719-llvm-84bc62f7a350ab9a513f5ee28e22ac4e34b1503d.zip |
Support align attribute for return values
Reviewed By: reames
Differential Revision: http://reviews.llvm.org/D12844
llvm-svn: 247984
Diffstat (limited to 'llvm/test/Analysis')
-rw-r--r-- | llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll b/llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll index 1d6f32eea72..550b01c4c9a 100644 --- a/llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll +++ b/llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll @@ -7,6 +7,7 @@ target datalayout = "e" declare zeroext i1 @return_i1() +declare i32* @foo() @globalstr = global [6 x i8] c"hello\00" @globali32ptr = external global i32* @@ -111,6 +112,16 @@ entry: %load21 = load i8, i8 addrspace(1)* %gep.align1.offset16, align 16 %load22 = load i8, i8 addrspace(1)* %gep.align16.offset16, align 16 +; CHECK-NOT: %no_deref_return +; CHECK: %deref_return{{.*}}(unaligned) +; CHECK: %deref_and_aligned_return{{.*}}(aligned) + %no_deref_return = call i32* @foo() + %deref_return = call dereferenceable(32) i32* @foo() + %deref_and_aligned_return = call dereferenceable(32) align 16 i32* @foo() + %load23 = load i32, i32* %no_deref_return + %load24 = load i32, i32* %deref_return, align 16 + %load25 = load i32, i32* %deref_and_aligned_return, align 16 + ret void } |