diff options
| author | Jim Grosbach <grosbach@apple.com> | 2009-11-19 02:02:10 +0000 |
|---|---|---|
| committer | Jim Grosbach <grosbach@apple.com> | 2009-11-19 02:02:10 +0000 |
| commit | cc69a1ba9a5ca119418c40aa6e44182469badba2 (patch) | |
| tree | 7ae78c6f0e34f0905c0a58163dc69caa6d592769 | |
| parent | 77f0ea6b93b37049219d7cc295bcb122355ab83c (diff) | |
| download | bcm5719-llvm-cc69a1ba9a5ca119418c40aa6e44182469badba2.tar.gz bcm5719-llvm-cc69a1ba9a5ca119418c40aa6e44182469badba2.zip | |
Make EliminateDuplicatePHINodes() available as a utility function
llvm-svn: 89297
| -rw-r--r-- | llvm/include/llvm/Transforms/Utils/Local.h | 9 | ||||
| -rw-r--r-- | llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/llvm/include/llvm/Transforms/Utils/Local.h b/llvm/include/llvm/Transforms/Utils/Local.h index 292af1dbfc4..e6687bb2489 100644 --- a/llvm/include/llvm/Transforms/Utils/Local.h +++ b/llvm/include/llvm/Transforms/Utils/Local.h @@ -107,7 +107,14 @@ void MergeBasicBlockIntoOnlyPred(BasicBlock *BB, Pass *P = 0); /// rewriting all the predecessors to branch to the successor block and return /// true. If we can't transform, return false. bool TryToSimplifyUncondBranchFromEmptyBlock(BasicBlock *BB); - + +/// EliminateDuplicatePHINodes - Check for and eliminate duplicate PHI +/// nodes in this block. This doesn't try to be clever about PHI nodes +/// which differ only in the order of the incoming values, but instcombine +/// orders them so it usually won't matter. +/// +bool EliminateDuplicatePHINodes(BasicBlock *BB); + /// SimplifyCFG - This function is used to do simplification of a CFG. For /// example, it adjusts branches to branches to eliminate the extra hop, it /// eliminates unreachable basic blocks, and does other "peephole" optimization diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp index 8dbc8081c5a..89b0bd9b31a 100644 --- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp @@ -1594,7 +1594,7 @@ static bool SimplifyCondBranchToCondBranch(BranchInst *PBI, BranchInst *BI) { /// which differ only in the order of the incoming values, but instcombine /// orders them so it usually won't matter. /// -static bool EliminateDuplicatePHINodes(BasicBlock *BB) { +bool llvm::EliminateDuplicatePHINodes(BasicBlock *BB) { bool Changed = false; // This implementation doesn't currently consider undef operands |

