summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2009-11-19 02:02:10 +0000
committerJim Grosbach <grosbach@apple.com>2009-11-19 02:02:10 +0000
commitcc69a1ba9a5ca119418c40aa6e44182469badba2 (patch)
tree7ae78c6f0e34f0905c0a58163dc69caa6d592769
parent77f0ea6b93b37049219d7cc295bcb122355ab83c (diff)
downloadbcm5719-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.h9
-rw-r--r--llvm/lib/Transforms/Utils/SimplifyCFG.cpp2
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
OpenPOWER on IntegriCloud