diff options
author | Reid Kleckner <rnk@google.com> | 2018-01-04 23:23:46 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2018-01-04 23:23:46 +0000 |
commit | cd78ddc1199d5a8848de160b208c1884b850ce98 (patch) | |
tree | 960724fa7f0990d7a22431f333436ba839510523 /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | |
parent | 97f43200866f80f1924e9c627a2d424e3b60507c (diff) | |
download | llvm-cd78ddc1199d5a8848de160b208c1884b850ce98.zip llvm-cd78ddc1199d5a8848de160b208c1884b850ce98.tar.gz llvm-cd78ddc1199d5a8848de160b208c1884b850ce98.tar.bz2 |
Revert "[JumpThreading] Preservation of DT and LVI across the pass"
This reverts r321825, it causes crashes in Chromium. Reproducer
forthcoming.
llvm-svn: 321832
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp b/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp index 9d35939..056753f 100644 --- a/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp +++ b/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp @@ -45,22 +45,16 @@ using namespace llvm; -void llvm::DeleteDeadBlock(BasicBlock *BB, DeferredDominance *DDT) { +void llvm::DeleteDeadBlock(BasicBlock *BB) { assert((pred_begin(BB) == pred_end(BB) || // Can delete self loop. BB->getSinglePredecessor() == BB) && "Block is not dead!"); TerminatorInst *BBTerm = BB->getTerminator(); - std::vector<DominatorTree::UpdateType> Updates; // Loop through all of our successors and make sure they know that one // of their predecessors is going away. - if (DDT) - Updates.reserve(BBTerm->getNumSuccessors()); - for (BasicBlock *Succ : BBTerm->successors()) { + for (BasicBlock *Succ : BBTerm->successors()) Succ->removePredecessor(BB); - if (DDT) - Updates.push_back({DominatorTree::Delete, BB, Succ}); - } // Zap all the instructions in the block. while (!BB->empty()) { @@ -75,12 +69,8 @@ void llvm::DeleteDeadBlock(BasicBlock *BB, DeferredDominance *DDT) { BB->getInstList().pop_back(); } - if (DDT) { - DDT->applyUpdates(Updates); - DDT->deleteBB(BB); // Deferred deletion of BB. - } else { - BB->eraseFromParent(); // Zap the block! - } + // Zap the block! + BB->eraseFromParent(); } void llvm::FoldSingleEntryPHINodes(BasicBlock *BB, |