[PATCH] D152275: Use memory region declaration intrinsic when generating code for array subscripts

Simeon Krastnikov via Phabricator via cfe-commits cfe-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/cfe-commits/attachments/20230807/1ca7db5c/attachment-0001.bin>


More information about the cfe-commits mailing list