diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2012-09-26 10:27:46 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2012-09-26 10:27:46 +0000 |
commit | 81b001a2209be99e42aceed74f411c7cefc4d022 (patch) | |
tree | 583604cd2f1285d573c80cfca401b9f2b94bc018 /test/Transforms/SROA/basictest.ll | |
parent | 4d7aa6dbcedfbee7482b8473a63af5ac065380e8 (diff) |
Teach all of the loads, stores, memsets and memcpys created by the
rewriter in SROA to carry a proper alignment. This involves
interrogating various sources of alignment, etc. This is a more complete
and principled fix to PR13920 as well as related bugs pointed out by Eli
in review and by inspection in the area.
Also by inspection fix the integer and vector promotion paths to create
aligned loads and stores. I still need to work up test cases for
these... Sorry for the delay, they were found purely by inspection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164689 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/SROA/basictest.ll')
-rw-r--r-- | test/Transforms/SROA/basictest.ll | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/test/Transforms/SROA/basictest.ll b/test/Transforms/SROA/basictest.ll index e31315f9bf..e58cef63ba 100644 --- a/test/Transforms/SROA/basictest.ll +++ b/test/Transforms/SROA/basictest.ll @@ -897,18 +897,3 @@ if.end: %tmp2 = load i8* %gep ret void } - -define void @test23(<2 x i64> %a, i16* %b) { -; CHECK: @test23 -; CHECK: store {{.*}}, align 2 -; CHECK: ret void -; PR13920 - -entry: - %a.addr = alloca <2 x i64>, align 16 - store <2 x i64> %a, <2 x i64>* %a.addr, align 16 - %0 = bitcast i16* %b to i8* - %1 = bitcast <2 x i64>* %a.addr to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 16, i32 2, i1 false) - ret void -} |