From: Torok Edwin Date: Sun, 11 Oct 2009 19:58:35 +0000 (+0000) Subject: Remove CleanupDbgInfo, instcombine does this and its not worth duplicating it X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=849a639e170ad9ce6fc721a4198547a52fa7d766 Remove CleanupDbgInfo, instcombine does this and its not worth duplicating it here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83789 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Scalar/LICM.cpp b/lib/Transforms/Scalar/LICM.cpp index 40af0a811d1..1aa317a4c5a 100644 --- a/lib/Transforms/Scalar/LICM.cpp +++ b/lib/Transforms/Scalar/LICM.cpp @@ -141,10 +141,6 @@ namespace { /// void HoistRegion(DomTreeNode *N); - // Cleanup debug information (remove stoppoints with no coressponding - // instructions). - void CleanupDbgInfoRegion(DomTreeNode *N); - /// inSubLoop - Little predicate that returns true if the specified basic /// block is in a subloop of the current one, not the current one itself. /// @@ -292,7 +288,6 @@ bool LICM::runOnLoop(Loop *L, LPPassManager &LPM) { // SinkRegion(DT->getNode(L->getHeader())); HoistRegion(DT->getNode(L->getHeader())); - CleanupDbgInfoRegion(DT->getNode(L->getHeader())); // Now that all loop invariants have been removed from the loop, promote any // memory references to scalars that we can... @@ -344,36 +339,6 @@ void LICM::SinkRegion(DomTreeNode *N) { } } -void LICM::CleanupDbgInfoRegion(DomTreeNode *N) { - BasicBlock *BB = N->getBlock(); - - // If this subregion is not in the top level loop at all, exit. - if (!CurLoop->contains(BB)) return; - - // We are processing blocks in reverse dfo, so process children first... - const std::vector &Children = N->getChildren(); - for (unsigned i = 0, e = Children.size(); i != e; ++i) - CleanupDbgInfoRegion(Children[i]); - - // Only need to process the contents of this block if it is not part of a - // subloop (which would already have been processed). - if (inSubLoop(BB)) return; - - // We modify the basicblock, so don't cache end() - for (BasicBlock::iterator I=BB->begin(); I != BB->end();) { - Instruction *Last = 0; - // Remove consecutive dbgstoppoints, leave only last - do { - if (Last) { - Last->eraseFromParent(); - Changed = true; - } - Last = I; - ++I; - } while (isa(Last) && isa(I)); - } -} - /// HoistRegion - Walk the specified region of the CFG (defined by all blocks /// dominated by the specified block, and that are in the current loop) in depth /// first order w.r.t the DominatorTree. This allows us to visit definitions