diff options
author | Chris Lattner <sabre@nondot.org> | 2008-12-03 19:44:02 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-12-03 19:44:02 +0000 |
commit | 29874e0dc6c4e55bc384611273343bb358982cc3 (patch) | |
tree | ff01073ac8df137035c562888c7cd0f61b60d29f /include/llvm/Transforms/Utils | |
parent | e96cc775e496260b7a42dbd6148dffb0575d1304 (diff) |
Factor some code into a new FoldSingleEntryPHINodes method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60501 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Transforms/Utils')
-rw-r--r-- | include/llvm/Transforms/Utils/BasicBlockUtils.h | 8 | ||||
-rw-r--r-- | include/llvm/Transforms/Utils/Local.h | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/include/llvm/Transforms/Utils/BasicBlockUtils.h b/include/llvm/Transforms/Utils/BasicBlockUtils.h index 6dd92dd71f..429d3b6edc 100644 --- a/include/llvm/Transforms/Utils/BasicBlockUtils.h +++ b/include/llvm/Transforms/Utils/BasicBlockUtils.h @@ -30,6 +30,14 @@ class AliasAnalysis; /// predecessors. void DeleteDeadBlock(BasicBlock *BB); + +/// FoldSingleEntryPHINodes - We know that BB has one predecessor. If there are +/// any single-entry PHI nodes in it, fold them away. This handles the case +/// when all entries to the PHI nodes in a block are guaranteed equal, such as +/// when the block has exactly one predecessor. +void FoldSingleEntryPHINodes(BasicBlock *BB); + + /// MergeBlockIntoPredecessor - Attempts to merge a block into its predecessor, /// if possible. The return value indicates success or failure. bool MergeBlockIntoPredecessor(BasicBlock* BB, Pass* P = 0); diff --git a/include/llvm/Transforms/Utils/Local.h b/include/llvm/Transforms/Utils/Local.h index 3fb0535723..3ccc61280f 100644 --- a/include/llvm/Transforms/Utils/Local.h +++ b/include/llvm/Transforms/Utils/Local.h @@ -56,7 +56,7 @@ void RecursivelyDeleteTriviallyDeadInstructions(Value *V, SmallVectorImpl<Instruction*> *DeadInst = 0); //===----------------------------------------------------------------------===// -// Control Flow Graph Restructuring... +// Control Flow Graph Restructuring. // /// MergeBasicBlockIntoOnlyPred - BB is a block with one predecessor and its |