[llvm] r358350 - [Mem2Reg] Don't call LBI.deleteValue on AllocInst/DbgVariableIntrinsic

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 13 23:27:08 PDT 2019


Author: maskray
Date: Sat Apr 13 23:27:07 2019
New Revision: 358350

URL: http://llvm.org/viewvc/llvm-project?rev=358350&view=rev
Log:
[Mem2Reg] Don't call LBI.deleteValue on AllocInst/DbgVariableIntrinsic

Only StoreInst/LoadInst are assigned numbers. Other types of instructions are not in LBI.

Modified:
    llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp

Modified: llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp?rev=358350&r1=358349&r2=358350&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp Sat Apr 13 23:27:07 2019
@@ -421,14 +421,12 @@ static bool rewriteSingleStoreAlloca(All
     DIBuilder DIB(*AI->getModule(), /*AllowUnresolved*/ false);
     ConvertDebugDeclareToDebugValue(DII, Info.OnlyStore, DIB);
     DII->eraseFromParent();
-    LBI.deleteValue(DII);
   }
   // Remove the (now dead) store and alloca.
   Info.OnlyStore->eraseFromParent();
   LBI.deleteValue(Info.OnlyStore);
 
   AI->eraseFromParent();
-  LBI.deleteValue(AI);
   return true;
 }
 
@@ -526,13 +524,10 @@ static bool promoteSingleBlockAlloca(All
   }
 
   AI->eraseFromParent();
-  LBI.deleteValue(AI);
 
   // The alloca's debuginfo can be removed as well.
-  for (DbgVariableIntrinsic *DII : Info.DbgDeclares) {
+  for (DbgVariableIntrinsic *DII : Info.DbgDeclares)
     DII->eraseFromParent();
-    LBI.deleteValue(DII);
-  }
 
   ++NumLocalPromoted;
   return true;




More information about the llvm-commits mailing list