summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis
diff options
context:
space:
mode:
authorArtur Pilipenko <apilipenko@azulsystems.com>2015-09-18 12:33:31 +0000
committerArtur Pilipenko <apilipenko@azulsystems.com>2015-09-18 12:33:31 +0000
commit84bc62f7a350ab9a513f5ee28e22ac4e34b1503d (patch)
treed27231d5454dd1b275f22f235e64722afbaa40b4 /llvm/test/Analysis
parenteda0a48e53cdc24b911609890bdc41103afe32c0 (diff)
downloadbcm5719-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.ll11
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
}
OpenPOWER on IntegriCloud