diff options
Diffstat (limited to 'test/Transforms/SROA/alignment.ll')
-rw-r--r-- | test/Transforms/SROA/alignment.ll | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/test/Transforms/SROA/alignment.ll b/test/Transforms/SROA/alignment.ll index 945ad910021..ad5fb6c4a5d 100644 --- a/test/Transforms/SROA/alignment.ll +++ b/test/Transforms/SROA/alignment.ll @@ -84,37 +84,6 @@ entry: ret void } -%struct.S = type { i8, { i64 } } - -define void @test4() { -; This test case triggered very strange alignment behavior with memcpy due to -; strange splitting. Reported by Duncan. -; CHECK: @test4 - -entry: - %D.2113 = alloca %struct.S - %Op = alloca %struct.S - %D.2114 = alloca %struct.S - %gep1 = getelementptr inbounds %struct.S* %Op, i32 0, i32 0 - store i8 0, i8* %gep1, align 8 - %gep2 = getelementptr inbounds %struct.S* %Op, i32 0, i32 1, i32 0 - %cast = bitcast i64* %gep2 to double* - store double 0.000000e+00, double* %cast, align 8 - store i64 0, i64* %gep2, align 8 - %dst1 = bitcast %struct.S* %D.2114 to i8* - %src1 = bitcast %struct.S* %Op to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* %dst1, i8* %src1, i32 16, i32 8, i1 false) - %dst2 = bitcast %struct.S* %D.2113 to i8* - %src2 = bitcast %struct.S* %D.2114 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* %dst2, i8* %src2, i32 16, i32 8, i1 false) -; We get 3 memcpy calls with various reasons to shrink their alignment to 1. -; CHECK: @llvm.memcpy.p0i8.p0i8.i32(i8* %{{.*}}, i8* %{{.*}}, i32 3, i32 1, i1 false) -; CHECK: @llvm.memcpy.p0i8.p0i8.i32(i8* %{{.*}}, i8* %{{.*}}, i32 8, i32 1, i1 false) -; CHECK: @llvm.memcpy.p0i8.p0i8.i32(i8* %{{.*}}, i8* %{{.*}}, i32 11, i32 1, i1 false) - - ret void -} - define void @test5() { ; Test that we preserve underaligned loads and stores when splitting. ; CHECK: @test5 |