[llvm] [NFC][SPIRV] GetElementPtrInst does not need a call to isInstructionTriviallyDead after replaceUsesofWith (PR #162045)
    Juan Manuel Martinez CaamaƱo via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Oct  6 01:11:59 PDT 2025
    
    
  
https://github.com/jmmartinez created https://github.com/llvm/llvm-project/pull/162045
A getelementptr is always removable after replacing all its uses, since it doesn't have side effects and always returns.
>From c090c4e53154a1d9fb5daab8ca915fd5faa1796f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Manuel=20Martinez=20Caama=C3=B1o?= <juamarti at amd.com>
Date: Mon, 6 Oct 2025 09:26:27 +0200
Subject: [PATCH] [NFC][SPIRV] GetElementPtrInst does not need a call to
 isInstructionTriviallyDead after replaceUsesofWith
A getelementptr is always removable after replacing all its uses, since it doesn't have side effects and always returns.
---
 llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 9f2e07508a36a..e16c8f0fc302e 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -2811,9 +2811,7 @@ bool SPIRVEmitIntrinsics::runOnFunction(Function &Func) {
     GetElementPtrInst *NewGEP = simplifyZeroLengthArrayGepInst(Ref);
     if (NewGEP) {
       Ref->replaceAllUsesWith(NewGEP);
-      if (isInstructionTriviallyDead(Ref))
-        DeadInsts.insert(Ref);
-
+      DeadInsts.insert(Ref);
       Ref = NewGEP;
     }
     if (Type *GepTy = getGEPType(Ref))
    
    
More information about the llvm-commits
mailing list