|
LLVM 22.0.0git
|
Option class for critical edge splitting. More...
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
Public Member Functions | |
| CriticalEdgeSplittingOptions (DominatorTree *DT=nullptr, LoopInfo *LI=nullptr, MemorySSAUpdater *MSSAU=nullptr, PostDominatorTree *PDT=nullptr) | |
| CriticalEdgeSplittingOptions & | setMergeIdenticalEdges () |
| CriticalEdgeSplittingOptions & | setKeepOneInputPHIs () |
| CriticalEdgeSplittingOptions & | setPreserveLCSSA () |
| CriticalEdgeSplittingOptions & | setIgnoreUnreachableDests () |
| CriticalEdgeSplittingOptions & | unsetPreserveLoopSimplify () |
Public Attributes | |
| DominatorTree * | DT |
| PostDominatorTree * | PDT |
| LoopInfo * | LI |
| MemorySSAUpdater * | MSSAU |
| bool | MergeIdenticalEdges = false |
| bool | KeepOneInputPHIs = false |
| bool | PreserveLCSSA = false |
| bool | IgnoreUnreachableDests = false |
| bool | PreserveLoopSimplify = true |
| SplitCriticalEdge is guaranteed to preserve loop-simplify form if LI is provided. | |
Option class for critical edge splitting.
This provides a builder interface for overriding the default options used during critical edge splitting.
Definition at line 151 of file BasicBlockUtils.h.
|
inline |
Definition at line 165 of file BasicBlockUtils.h.
References DT, LI, MSSAU, and PDT.
Referenced by setIgnoreUnreachableDests(), setKeepOneInputPHIs(), setMergeIdenticalEdges(), setPreserveLCSSA(), and unsetPreserveLoopSimplify().
|
inline |
Definition at line 186 of file BasicBlockUtils.h.
References CriticalEdgeSplittingOptions(), and IgnoreUnreachableDests.
|
inline |
Definition at line 176 of file BasicBlockUtils.h.
References CriticalEdgeSplittingOptions(), and KeepOneInputPHIs.
|
inline |
Definition at line 171 of file BasicBlockUtils.h.
References CriticalEdgeSplittingOptions(), and MergeIdenticalEdges.
|
inline |
Definition at line 181 of file BasicBlockUtils.h.
References CriticalEdgeSplittingOptions(), and PreserveLCSSA.
Referenced by llvm::SplitEdge().
|
inline |
Definition at line 191 of file BasicBlockUtils.h.
References CriticalEdgeSplittingOptions(), and PreserveLoopSimplify.
| DominatorTree* llvm::CriticalEdgeSplittingOptions::DT |
Definition at line 152 of file BasicBlockUtils.h.
Referenced by CriticalEdgeSplittingOptions().
| bool llvm::CriticalEdgeSplittingOptions::IgnoreUnreachableDests = false |
Definition at line 159 of file BasicBlockUtils.h.
Referenced by setIgnoreUnreachableDests().
| bool llvm::CriticalEdgeSplittingOptions::KeepOneInputPHIs = false |
Definition at line 157 of file BasicBlockUtils.h.
Referenced by setKeepOneInputPHIs().
| LoopInfo* llvm::CriticalEdgeSplittingOptions::LI |
Definition at line 154 of file BasicBlockUtils.h.
Referenced by CriticalEdgeSplittingOptions().
| bool llvm::CriticalEdgeSplittingOptions::MergeIdenticalEdges = false |
Definition at line 156 of file BasicBlockUtils.h.
Referenced by setMergeIdenticalEdges().
| MemorySSAUpdater* llvm::CriticalEdgeSplittingOptions::MSSAU |
Definition at line 155 of file BasicBlockUtils.h.
Referenced by CriticalEdgeSplittingOptions().
| PostDominatorTree* llvm::CriticalEdgeSplittingOptions::PDT |
Definition at line 153 of file BasicBlockUtils.h.
Referenced by CriticalEdgeSplittingOptions().
| bool llvm::CriticalEdgeSplittingOptions::PreserveLCSSA = false |
Definition at line 158 of file BasicBlockUtils.h.
Referenced by setPreserveLCSSA().
| bool llvm::CriticalEdgeSplittingOptions::PreserveLoopSimplify = true |
SplitCriticalEdge is guaranteed to preserve loop-simplify form if LI is provided.
If it cannot be preserved, no splitting will take place. If it is not set, preserve loop-simplify form if possible.
Definition at line 163 of file BasicBlockUtils.h.
Referenced by unsetPreserveLoopSimplify().