[llvm] 91e1922 - [DSE] Skip non-pointer args in initializes handling (NFCI)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 23 06:22:01 PDT 2025


Author: Nikita Popov
Date: 2025-04-23T15:21:52+02:00
New Revision: 91e1922d45bdefd444a2ba0484fd858e2ad80254

URL: https://github.com/llvm/llvm-project/commit/91e1922d45bdefd444a2ba0484fd858e2ad80254
DIFF: https://github.com/llvm/llvm-project/commit/91e1922d45bdefd444a2ba0484fd858e2ad80254.diff

LOG: [DSE] Skip non-pointer args in initializes handling (NFCI)

Avoid performing AA queries on non-pointers.

Added: 
    

Modified: 
    llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp b/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
index 141af344f0e16..0521df8b818cf 100644
--- a/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
+++ b/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
@@ -2334,6 +2334,10 @@ DSEState::getInitializesArgMemLoc(const Instruction *I) {
   // Collect aliasing arguments and their initializes ranges.
   SmallMapVector<Value *, SmallVector<ArgumentInitInfo, 2>, 2> Arguments;
   for (unsigned Idx = 0, Count = CB->arg_size(); Idx < Count; ++Idx) {
+    Value *CurArg = CB->getArgOperand(Idx);
+    if (!CurArg->getType()->isPointerTy())
+      continue;
+
     ConstantRangeList Inits;
     Attribute InitializesAttr = CB->getParamAttr(Idx, Attribute::Initializes);
     // initializes on byval arguments refers to the callee copy, not the
@@ -2341,7 +2345,6 @@ DSEState::getInitializesArgMemLoc(const Instruction *I) {
     if (InitializesAttr.isValid() && !CB->isByValArgument(Idx))
       Inits = InitializesAttr.getValueAsConstantRangeList();
 
-    Value *CurArg = CB->getArgOperand(Idx);
     // Check whether "CurArg" could alias with global variables. We require
     // either it's function local and isn't captured before or the "CB" only
     // accesses arg or inaccessible mem.


        


More information about the llvm-commits mailing list