comparison test/Transforms/InstCombine/align-addr.ll @ 134:3a76565eade5 LLVM5.0.1

update 5.0.1
author mir3636
date Sat, 17 Feb 2018 09:57:20 +0900
parents afa8332a0e37
children c2174574ed3a
comparison
equal deleted inserted replaced
133:c60214abe0e8 134:3a76565eade5
78 %t = load double, double* %p 78 %t = load double, double* %p
79 store double %n, double* %p 79 store double %n, double* %p
80 ret double %t 80 ret double %t
81 } 81 }
82 82
83 declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) nounwind 83 declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1) nounwind
84 84
85 declare void @use(i8*) 85 declare void @use(i8*)
86 86
87 %struct.s = type { i32, i32, i32, i32 } 87 %struct.s = type { i32, i32, i32, i32 }
88 88
89 define void @test3(%struct.s* sret %a4) { 89 define void @test3(%struct.s* sret %a4) {
90 ; Check that the alignment is bumped up the alignment of the sret type. 90 ; Check that the alignment is bumped up the alignment of the sret type.
91 ; CHECK-LABEL: @test3( 91 ; CHECK-LABEL: @test3(
92 %a4.cast = bitcast %struct.s* %a4 to i8* 92 %a4.cast = bitcast %struct.s* %a4 to i8*
93 call void @llvm.memset.p0i8.i64(i8* %a4.cast, i8 0, i64 16, i32 1, i1 false) 93 call void @llvm.memset.p0i8.i64(i8* %a4.cast, i8 0, i64 16, i1 false)
94 ; CHECK: call void @llvm.memset.p0i8.i64(i8* %a4.cast, i8 0, i64 16, i32 4, i1 false) 94 ; CHECK: call void @llvm.memset.p0i8.i64(i8* align 4 %a4.cast, i8 0, i64 16, i1 false)
95 call void @use(i8* %a4.cast) 95 call void @use(i8* %a4.cast)
96 ret void 96 ret void
97 } 97 }