aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/SROA/basictest.ll
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2012-09-26 10:27:46 +0000
committerChandler Carruth <chandlerc@gmail.com>2012-09-26 10:27:46 +0000
commit81b001a2209be99e42aceed74f411c7cefc4d022 (patch)
tree583604cd2f1285d573c80cfca401b9f2b94bc018 /test/Transforms/SROA/basictest.ll
parent4d7aa6dbcedfbee7482b8473a63af5ac065380e8 (diff)
downloadexternal_llvm-81b001a2209be99e42aceed74f411c7cefc4d022.zip
external_llvm-81b001a2209be99e42aceed74f411c7cefc4d022.tar.gz
external_llvm-81b001a2209be99e42aceed74f411c7cefc4d022.tar.bz2
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.ll15
1 files changed, 0 insertions, 15 deletions
diff --git a/test/Transforms/SROA/basictest.ll b/test/Transforms/SROA/basictest.ll
index e31315f..e58cef6 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
-}