aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Transforms/Utils/Local.h
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
commit20f4d34fe3609cda8b70956a36080e9cbcd327d4 (patch)
treea52554bb91dd24edaa8f8af5e45ebdaa1d3a3ab7 /include/llvm/Transforms/Utils/Local.h
parent77bd09b650984044778c0259262dbae82135c23f (diff)
downloadexternal_llvm-20f4d34fe3609cda8b70956a36080e9cbcd327d4.zip
external_llvm-20f4d34fe3609cda8b70956a36080e9cbcd327d4.tar.gz
external_llvm-20f4d34fe3609cda8b70956a36080e9cbcd327d4.tar.bz2
Make EliminateDuplicatePHINodes() available as a utility function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89297 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Transforms/Utils/Local.h')
-rw-r--r--include/llvm/Transforms/Utils/Local.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/llvm/Transforms/Utils/Local.h b/include/llvm/Transforms/Utils/Local.h
index 292af1d..e6687bb 100644
--- a/include/llvm/Transforms/Utils/Local.h
+++ b/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