Author: Kazu Hirata Date: 2020-12-25T09:35:20-08:00 New Revision: 46bea9b29714ba77010612b04ba13aff56d62e7b
URL: https://github.com/llvm/llvm-project/commit/46bea9b29714ba77010612b04ba13aff56d62e7b DIFF: https://github.com/llvm/llvm-project/commit/46bea9b29714ba77010612b04ba13aff56d62e7b.diff LOG: [Local] Remove unused function RemovePredecessorAndSimplify (NFC) The last use of the function was removed on Sep 29, 2010 in commit 99c985c37dd45dd0fbd03863037d8e93153783e6. Added: Modified: llvm/include/llvm/Transforms/Utils/Local.h llvm/lib/Transforms/Utils/Local.cpp Removed: ################################################################################ diff --git a/llvm/include/llvm/Transforms/Utils/Local.h b/llvm/include/llvm/Transforms/Utils/Local.h index f62af365a27c..ebfb62a48bbf 100644 --- a/llvm/include/llvm/Transforms/Utils/Local.h +++ b/llvm/include/llvm/Transforms/Utils/Local.h @@ -150,20 +150,6 @@ bool replaceDbgUsesWithUndef(Instruction *I); // Control Flow Graph Restructuring. // -/// Like BasicBlock::removePredecessor, this method is called when we're about -/// to delete Pred as a predecessor of BB. If BB contains any PHI nodes, this -/// drops the entries in the PHI nodes for Pred. -/// -/// Unlike the removePredecessor method, this attempts to simplify uses of PHI -/// nodes that collapse into identity values. For example, if we have: -/// x = phi(1, 0, 0, 0) -/// y = and x, z -/// -/// .. and delete the predecessor corresponding to the '1', this will attempt to -/// recursively fold the 'and' to 0. -void RemovePredecessorAndSimplify(BasicBlock *BB, BasicBlock *Pred, - DomTreeUpdater *DTU = nullptr); - /// BB is a block with one predecessor and its predecessor is known to have one /// successor (BB!). Eliminate the edge between them, moving the instructions in /// the predecessor into BB. This deletes the predecessor block. diff --git a/llvm/lib/Transforms/Utils/Local.cpp b/llvm/lib/Transforms/Utils/Local.cpp index 125431d6afc8..e32b0f142f07 100644 --- a/llvm/lib/Transforms/Utils/Local.cpp +++ b/llvm/lib/Transforms/Utils/Local.cpp @@ -704,34 +704,6 @@ bool llvm::SimplifyInstructionsInBlock(BasicBlock *BB, // Control Flow Graph Restructuring. // -void llvm::RemovePredecessorAndSimplify(BasicBlock *BB, BasicBlock *Pred, - DomTreeUpdater *DTU) { - // This only adjusts blocks with PHI nodes. - if (!isa<PHINode>(BB->begin())) - return; - - // Remove the entries for Pred from the PHI nodes in BB, but do not simplify - // them down. This will leave us with single entry phi nodes and other phis - // that can be removed. - BB->removePredecessor(Pred, true); - - WeakTrackingVH PhiIt = &BB->front(); - while (PHINode *PN = dyn_cast<PHINode>(PhiIt)) { - PhiIt = &*++BasicBlock::iterator(cast<Instruction>(PhiIt)); - Value *OldPhiIt = PhiIt; - - if (!recursivelySimplifyInstruction(PN)) - continue; - - // If recursive simplification ended up deleting the next PHI node we would - // iterate to, then our iterator is invalid, restart scanning from the top - // of the block. - if (PhiIt != OldPhiIt) PhiIt = &BB->front(); - } - if (DTU) - DTU->applyUpdatesPermissive({{DominatorTree::Delete, Pred, BB}}); -} - void llvm::MergeBasicBlockIntoOnlyPred(BasicBlock *DestBB, DomTreeUpdater *DTU) { _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits