[PATCH] D113520: [SROA] Maintain shadow/backing alloca when some slices are noncapturnig read-only calls to allow alloca partitioning/promotion
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 4 15:57:40 PST 2022
lebedev.ri reopened this revision.
lebedev.ri added a comment.
Ok, i'm not yet sure how to deal with this, but somehow we end up trying to re-promote the alloca's here:
; Function Attrs: argmemonly nofree nounwind willreturn
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #0
define fastcc void @TraceLine(i64 %tmp) {
entry:
%LDir = alloca i64, align 8
%NewDir1 = alloca i64, align 8
%LDir.cast = bitcast i64* %LDir to i8*
%NewDir1.cast = bitcast i64* %NewDir1 to i8*
store i64 %tmp, i64* %LDir
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %NewDir1.cast, i8* %LDir.cast, i64 8, i1 false)
;%reload = load i64, i64* %LDir
;store i64 %reload, i64* %NewDir1
%call33 = call fastcc double @IntersectObjs(i64* %NewDir1)
%call38 = call fastcc double @IntersectObjs(i64* %LDir)
ret void
}
declare fastcc double @IntersectObjs(i64* nocapture readonly)
; uselistorder directives
uselistorder double (i64*)* @IntersectObjs, { 1, 0 }
attributes #0 = { argmemonly nofree nounwind willreturn }
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D113520/new/
https://reviews.llvm.org/D113520
More information about the llvm-commits
mailing list