Do not preserve ETForest.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37506 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel
2007-06-08 00:02:08 +00:00
parent 6ea7ac6a1e
commit f86a73cbef
2 changed files with 14 additions and 35 deletions

View File

@ -61,15 +61,15 @@ bool isCriticalEdge(const TerminatorInst *TI, unsigned SuccNum,
bool AllowIdenticalEdges = false);
/// SplitCriticalEdge - If this edge is a critical edge, insert a new node to
/// split the critical edge. This will update ETForest, ImmediateDominator,
/// DominatorTree, and DominatorFrontier information if it is available, thus
/// calling this pass will not invalidate either of them. This returns true if
/// the edge was split, false otherwise. If MergeIdenticalEdges is true (the
/// default), *all* edges from TI to the specified successor will be merged into
/// the same critical edge block. This is most commonly interesting with switch
/// instructions, which may have many edges to any one destination. This
/// ensures that all edges to that dest go to one block instead of each going to
/// a different block, but isn't the standard definition of a "critical edge".
/// split the critical edge. This will update DominatorTree, and DominatorFrontier
/// information if it is available, thus calling this pass will not invalidate
/// either of them. This returns true if the edge was split, false otherwise.
/// If MergeIdenticalEdges is true (the default), *all* edges from TI to the
/// specified successor will be merged into the same critical edge block.
/// This is most commonly interesting with switch instructions, which may
/// have many edges to any one destination. This ensures that all edges to that
/// dest go to one block instead of each going to a different block, but isn't
/// the standard definition of a "critical edge".
///
bool SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum, Pass *P = 0,
bool MergeIdenticalEdges = false);