diff options
author | Devang Patel <dpatel@apple.com> | 2007-07-06 21:39:20 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2007-07-06 21:39:20 +0000 |
commit | 8019893c3f55a4bfe770888fe285d6dae57cf216 (patch) | |
tree | 310b76c94207eac8f7be00a67e89b55048e442f3 /include | |
parent | ec5614b522509d91d4c1f1d2a27ac8537f1886fb (diff) |
Add SplitEdge and SplitBlock utility routines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37952 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Transforms/Utils/BasicBlockUtils.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/llvm/Transforms/Utils/BasicBlockUtils.h b/include/llvm/Transforms/Utils/BasicBlockUtils.h index 4939111b88..47bbcbec6d 100644 --- a/include/llvm/Transforms/Utils/BasicBlockUtils.h +++ b/include/llvm/Transforms/Utils/BasicBlockUtils.h @@ -107,6 +107,17 @@ inline bool SplitCriticalEdge(BasicBlock *Src, BasicBlock *Dst, Pass *P = 0, ++i; } } + +/// SplitEdge - Split the edge connecting specified block. Pass P must +/// not be NULL. +BasicBlock *SplitEdge(BasicBlock *From, BasicBlock *To, Pass *P); + +/// SplitBlock - Split the specified block at the specified instruction - every +/// thing before SplitPt stays in Old and everything starting with SplitPt moves +/// to a new block. The two blocks are joined by an unconditional branch and +/// the loop info is updated. +/// +BasicBlock *SplitBlock(BasicBlock *Old, Instruction *SplitPt, Pass *P); } // End llvm namespace #endif |