From 81b001a2209be99e42aceed74f411c7cefc4d022 Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Wed, 26 Sep 2012 10:27:46 +0000 Subject: 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 --- test/Transforms/SROA/basictest.ll | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'test/Transforms/SROA/basictest.ll') 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 -} -- cgit v1.2.3-18-g5258