[PATCH] D109219: [Intrinsics] Move dest arg functions of MemIntrinsicBase deeper in mem intrinsics hierarchy

Dmitry Makogon via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 3 03:02:36 PDT 2021


dmakogon created this revision.
dmakogon added a reviewer: mkazantsev.
Herald added subscribers: ormris, foad, dexonsmith, kerbowa, hiraditya, nhaehnle, jvesely, arsenm.
dmakogon requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Currently we can access destination argument of any memory intrinsic (**MemCpyInst**, **MemSetInst**, ...) through the functions of their common base class - **MemIntrinsicBase**. 
But I think these functions must not be declared such early in the class hierarchy (which now for **MemSetInst **is  
 **IntrinsicInst **<-- **MemIntrinsicBase<MemIntrinsic>** <-- **MemIntrinsic** <-- **MemSetBase<MemWriteIntrinsic>** <-- **MemSetInst **)  
We might want to add some new memory intrinsics in the future that do not have dest argument (i.e. sth like memcmp which would have LHS and RHS instead of src and dest).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D109219

Files:
  llvm/include/llvm/Analysis/MemoryLocation.h
  llvm/include/llvm/IR/IntrinsicInst.h
  llvm/include/llvm/Transforms/Utils/VNCoercion.h
  llvm/lib/Analysis/LazyValueInfo.cpp
  llvm/lib/Analysis/MemoryLocation.cpp
  llvm/lib/Analysis/StackSafetyAnalysis.cpp
  llvm/lib/CodeGen/CodeGenPrepare.cpp
  llvm/lib/CodeGen/SafeStack.cpp
  llvm/lib/IR/AutoUpgrade.cpp
  llvm/lib/IR/Verifier.cpp
  llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
  llvm/lib/Transforms/IPO/GlobalOpt.cpp
  llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
  llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
  llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
  llvm/lib/Transforms/Scalar/GVN.cpp
  llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
  llvm/lib/Transforms/Scalar/NewGVN.cpp
  llvm/lib/Transforms/Utils/VNCoercion.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D109219.370518.patch
Type: text/x-patch
Size: 38955 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210903/3abca232/attachment-0001.bin>


More information about the llvm-commits mailing list