[llvm] [InstCombine] Remove Store which has one-use AddrSpaceCastInst as Ptr (#68120) (PR #79565)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 26 02:04:10 PST 2024


================
@@ -1385,9 +1385,10 @@ Instruction *InstCombinerImpl::visitStoreInst(StoreInst &SI) {
   if (Ptr->hasOneUse()) {
     if (isa<AllocaInst>(Ptr))
       return eraseInstFromFunction(SI);
-    if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Ptr)) {
-      if (isa<AllocaInst>(GEP->getOperand(0))) {
-        if (GEP->getOperand(0)->hasOneUse())
+    if (isa<GetElementPtrInst>(Ptr) || isa<AddrSpaceCastInst>(Ptr)) {
+      Instruction *PtrI = dyn_cast<Instruction>(Ptr);
----------------
arsenm wrote:

Unchecked dyn_cast, use cast<> 

https://github.com/llvm/llvm-project/pull/79565


More information about the llvm-commits mailing list