[PATCH] D24854: [SROA] Drop lifetime.start/end intrinsics when they block promotion.
Davide Italiano via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 8 18:50:46 PST 2016
davide added a comment.
I was debugging a testcase reduced from a PS4 title when I realized Eli already provided a fix
An alternative testcase, FWIW.
%myclass = type { [16 x i32] }
declare void @llvm.lifetime.start(i64, i8* nocapture)
define void @patatino() {
%gb = alloca [2 x %myclass*]
%tmp = bitcast [2 x %myclass*]* %gb to i8*
call void @llvm.lifetime.start(i64 16, i8* %tmp)
%tmp1 = getelementptr [2 x %myclass*], [2 x %myclass*]* %gb, i64 0, i64 0
store %myclass* undef, %myclass** %tmp1
%tmp3 = bitcast %myclass** %tmp1 to <4 x i64>*
%tmp4 = load <4 x i64>, <4 x i64>* %tmp3
ret void
}
Repository:
rL LLVM
https://reviews.llvm.org/D24854
More information about the llvm-commits
mailing list