[llvm] r316884 - [GVN][NFC] Mark instruction for deletion instead of immediate erasing in LoadPRE

Max Kazantsev via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 29 21:48:34 PDT 2017


Author: mkazantsev
Date: Sun Oct 29 21:48:34 2017
New Revision: 316884

URL: http://llvm.org/viewvc/llvm-project?rev=316884&view=rev
Log:
[GVN][NFC] Mark instruction for deletion instead of immediate erasing in LoadPRE

It is done to uniformly handle instructions removal.

Differential Revision: https://reviews.llvm.org/D39369

Modified:
    llvm/trunk/lib/Transforms/Scalar/GVN.cpp

Modified: llvm/trunk/lib/Transforms/Scalar/GVN.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/GVN.cpp?rev=316884&r1=316883&r2=316884&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/GVN.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/GVN.cpp Sun Oct 29 21:48:34 2017
@@ -1167,8 +1167,7 @@ bool GVN::PerformLoadPRE(LoadInst *LI, A
   if (!CanDoPRE) {
     while (!NewInsts.empty()) {
       Instruction *I = NewInsts.pop_back_val();
-      if (MD) MD->removeInstruction(I);
-      I->eraseFromParent();
+      markInstructionForDeletion(I);
     }
     // HINT: Don't revert the edge-splitting as following transformation may
     // also need to split these critical edges.




More information about the llvm-commits mailing list