diff options
author | Chris Lattner <sabre@nondot.org> | 2010-03-15 18:42:01 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-03-15 18:42:01 +0000 |
commit | 88698f5dbcaa34c4d4e7c1bed7992c976183040a (patch) | |
tree | dd127145261b2faa60af655bf7075f09d4782d5e | |
parent | 90a48adf9cbea48f5318a5eb778056b4413e2ec0 (diff) | |
download | external_llvm-88698f5dbcaa34c4d4e7c1bed7992c976183040a.zip external_llvm-88698f5dbcaa34c4d4e7c1bed7992c976183040a.tar.gz external_llvm-88698f5dbcaa34c4d4e7c1bed7992c976183040a.tar.bz2 |
revert r98550, it isn't necessary or sufficient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98558 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/UnreachableBlockElim.cpp | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/lib/CodeGen/UnreachableBlockElim.cpp b/lib/CodeGen/UnreachableBlockElim.cpp index c0d4494..7b33812 100644 --- a/lib/CodeGen/UnreachableBlockElim.cpp +++ b/lib/CodeGen/UnreachableBlockElim.cpp @@ -58,25 +58,13 @@ FunctionPass *llvm::createUnreachableBlockEliminationPass() { return new UnreachableBlockElim(); } -static void MarkReachableFrom(BasicBlock *BB, - SmallPtrSet<BasicBlock*, 8> &Reachable) { - for (df_ext_iterator<BasicBlock*, SmallPtrSet<BasicBlock*, 8> > I = - df_ext_begin(BB, Reachable), E = df_ext_end(BB, Reachable); I != E; ++I) - ; // Mark all reachable blocks. -} - bool UnreachableBlockElim::runOnFunction(Function &F) { SmallPtrSet<BasicBlock*, 8> Reachable; // Mark all reachable blocks. - MarkReachableFrom(&F.getEntryBlock(), Reachable); - - // Mark any address-taken blocks. We don't want codegen to delete these - // because the address may already be referenced by another function and the - // label may be referenced. - for (Function::iterator I = F.begin(), E = F.end(); I != E; ++I) - if (I->hasAddressTaken() && !Reachable.count(I)) - MarkReachableFrom(I, Reachable); + for (df_ext_iterator<Function*, SmallPtrSet<BasicBlock*, 8> > I = + df_ext_begin(&F, Reachable), E = df_ext_end(&F, Reachable); I != E; ++I) + /* Mark all reachable blocks */; // Loop over all dead blocks, remembering them and deleting all instructions // in them. |