LLVM  8.0.1
Public Member Functions | Public Attributes | List of all members
llvm::CriticalEdgeSplittingOptions Struct Reference

Option class for critical edge splitting. More...

#include "llvm/Transforms/Utils/BasicBlockUtils.h"

Collaboration diagram for llvm::CriticalEdgeSplittingOptions:
Collaboration graph
[legend]

Public Member Functions

 CriticalEdgeSplittingOptions (DominatorTree *DT=nullptr, LoopInfo *LI=nullptr, MemorySSAUpdater *MSSAU=nullptr)
 
CriticalEdgeSplittingOptionssetMergeIdenticalEdges ()
 
CriticalEdgeSplittingOptionssetDontDeleteUselessPHIs ()
 
CriticalEdgeSplittingOptionssetPreserveLCSSA ()
 

Public Attributes

DominatorTreeDT
 
LoopInfoLI
 
MemorySSAUpdaterMSSAU
 
bool MergeIdenticalEdges = false
 
bool DontDeleteUselessPHIs = false
 
bool PreserveLCSSA = false
 

Detailed Description

Option class for critical edge splitting.

This provides a builder interface for overriding the default options used during critical edge splitting.

Definition at line 93 of file BasicBlockUtils.h.

Constructor & Destructor Documentation

◆ CriticalEdgeSplittingOptions()

llvm::CriticalEdgeSplittingOptions::CriticalEdgeSplittingOptions ( DominatorTree DT = nullptr,
LoopInfo LI = nullptr,
MemorySSAUpdater MSSAU = nullptr 
)
inline

Definition at line 101 of file BasicBlockUtils.h.

Referenced by setPreserveLCSSA(), and llvm::SplitCriticalEdge().

Member Function Documentation

◆ setDontDeleteUselessPHIs()

CriticalEdgeSplittingOptions& llvm::CriticalEdgeSplittingOptions::setDontDeleteUselessPHIs ( )
inline

Definition at line 111 of file BasicBlockUtils.h.

◆ setMergeIdenticalEdges()

CriticalEdgeSplittingOptions& llvm::CriticalEdgeSplittingOptions::setMergeIdenticalEdges ( )
inline

Definition at line 106 of file BasicBlockUtils.h.

Referenced by SplitCriticalSideEffectEdges().

◆ setPreserveLCSSA()

CriticalEdgeSplittingOptions& llvm::CriticalEdgeSplittingOptions::setPreserveLCSSA ( )
inline

Definition at line 116 of file BasicBlockUtils.h.

References CriticalEdgeSplittingOptions(), and llvm::SplitCriticalEdge().

Member Data Documentation

◆ DontDeleteUselessPHIs

bool llvm::CriticalEdgeSplittingOptions::DontDeleteUselessPHIs = false

Definition at line 98 of file BasicBlockUtils.h.

Referenced by llvm::SplitCriticalEdge().

◆ DT

DominatorTree* llvm::CriticalEdgeSplittingOptions::DT

Definition at line 94 of file BasicBlockUtils.h.

Referenced by llvm::SplitCriticalEdge().

◆ LI

LoopInfo* llvm::CriticalEdgeSplittingOptions::LI

Definition at line 95 of file BasicBlockUtils.h.

Referenced by llvm::SplitCriticalEdge().

◆ MergeIdenticalEdges

bool llvm::CriticalEdgeSplittingOptions::MergeIdenticalEdges = false

Definition at line 97 of file BasicBlockUtils.h.

Referenced by llvm::SplitCriticalEdge().

◆ MSSAU

MemorySSAUpdater* llvm::CriticalEdgeSplittingOptions::MSSAU

Definition at line 96 of file BasicBlockUtils.h.

Referenced by llvm::SplitCriticalEdge().

◆ PreserveLCSSA

bool llvm::CriticalEdgeSplittingOptions::PreserveLCSSA = false

Definition at line 99 of file BasicBlockUtils.h.

Referenced by llvm::SplitCriticalEdge().


The documentation for this struct was generated from the following file: