[PATCH] D152275: Use memory region declaration intrinsic when generating code for array subscripts
Simeon Krastnikov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 7 06:58:03 PDT 2023
simeon updated this revision to Diff 547763.
simeon added a comment.
Herald added subscribers: llvm-commits, kmitropoulou, ChuanqiXu, pengfei, asbirlea, haicheng, hiraditya, jvesely.
Herald added a project: LLVM.
The patch now includes the changes that need to be made to the optimization passes we observed to be most negatively affected by the introduction of the intrinsic, primarily InstCombine and SROA. However, it is not comprehensive: we also observed missed optimization opportunities in other passes such as GlobalOpt and MergedLoadStoreMotionPass.
A large number of hand-written unit tests need to be updated by hand but as they are very sensitive to the smallest change in the definition of the intrinsic, I am postponing this until we have some initial approval.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D152275/new/
https://reviews.llvm.org/D152275
Files:
clang/lib/CodeGen/CGExpr.cpp
clang/test/CodeGen/2005-01-02-ConstantInits.c
clang/test/CodeGen/X86/va-arg-sse.c
clang/test/CodeGen/builtin-align-array.c
clang/test/CodeGenCXX/amdgcn-automatic-variable.cpp
llvm/include/llvm/Analysis/PtrUseVisitor.h
llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
llvm/include/llvm/IR/InstVisitor.h
llvm/include/llvm/IR/IntrinsicInst.h
llvm/include/llvm/IR/Intrinsics.td
llvm/lib/Analysis/AliasSetTracker.cpp
llvm/lib/Analysis/BasicAliasAnalysis.cpp
llvm/lib/Analysis/ConstantFolding.cpp
llvm/lib/Analysis/InlineCost.cpp
llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
llvm/lib/Analysis/MemoryLocation.cpp
llvm/lib/Analysis/MemorySSA.cpp
llvm/lib/Analysis/ObjCARCInstKind.cpp
llvm/lib/Analysis/ValueTracking.cpp
llvm/lib/CodeGen/CodeGenPrepare.cpp
llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
llvm/lib/IR/Value.cpp
llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
llvm/lib/Transforms/Scalar/SROA.cpp
llvm/lib/Transforms/Utils/Local.cpp
llvm/test/Transforms/InstCombine/gep-mem-reg-decl.ll
llvm/test/Transforms/SROA/mem-reg-decl.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D152275.547763.patch
Type: text/x-patch
Size: 40245 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230807/1ca7db5c/attachment.bin>
More information about the llvm-commits
mailing list