aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Transforms')
-rw-r--r--lib/Transforms/Scalar/ADCE.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/lib/Transforms/Scalar/ADCE.cpp b/lib/Transforms/Scalar/ADCE.cpp
index c7d349932c..fde1308aba 100644
--- a/lib/Transforms/Scalar/ADCE.cpp
+++ b/lib/Transforms/Scalar/ADCE.cpp
@@ -283,10 +283,8 @@ bool ADCE::doADCE() {
BasicBlock *BB = I->getParent();
if (!ReachableBBs.count(BB)) continue;
- if (!AliveBlocks.count(BB)) { // Basic block not alive yet...
- AliveBlocks.insert(BB); // Block is now ALIVE!
+ if (AliveBlocks.insert(BB).second) // Basic block not alive yet.
markBlockAlive(BB); // Make it so now!
- }
// PHI nodes are a special case, because the incoming values are actually
// defined in the predecessor nodes of this block, meaning that the PHI
@@ -294,10 +292,8 @@ bool ADCE::doADCE() {
//
if (PHINode *PN = dyn_cast<PHINode>(I))
for (pred_iterator PI = pred_begin(BB), PE = pred_end(BB); PI != PE; ++PI)
- if (!AliveBlocks.count(*PI)) {
- AliveBlocks.insert(BB); // Block is now ALIVE!
+ if (AliveBlocks.insert(*PI).second) // Block is now ALIVE!
markBlockAlive(*PI);
- }
// Loop over all of the operands of the live instruction, making sure that
// they are known to be alive as well...