struct CriticalEdgeSplittingOptions

Declaration

struct CriticalEdgeSplittingOptions { /* full declaration omitted */ };

Description

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

Declared at: llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h:121

Member Variables

public llvm::DominatorTree* DT
public llvm::PostDominatorTree* PDT
public llvm::LoopInfo* LI
public llvm::MemorySSAUpdater* MSSAU
public bool MergeIdenticalEdges = false
public bool KeepOneInputPHIs = false
public bool PreserveLCSSA = false
public bool IgnoreUnreachableDests = false

Method Overview

Methods

CriticalEdgeSplittingOptions(
    llvm::DominatorTree* DT = nullptr,
    llvm::LoopInfo* LI = nullptr,
    llvm::MemorySSAUpdater* MSSAU = nullptr,
    llvm::PostDominatorTree* PDT = nullptr)

Declared at: llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h:131

Parameters

llvm::DominatorTree* DT = nullptr
llvm::LoopInfo* LI = nullptr
llvm::MemorySSAUpdater* MSSAU = nullptr
llvm::PostDominatorTree* PDT = nullptr

llvm::CriticalEdgeSplittingOptions&
setIgnoreUnreachableDests()

Declared at: llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h:152

llvm::CriticalEdgeSplittingOptions&
setKeepOneInputPHIs()

Declared at: llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h:142

llvm::CriticalEdgeSplittingOptions&
setMergeIdenticalEdges()

Declared at: llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h:137

llvm::CriticalEdgeSplittingOptions&
setPreserveLCSSA()

Declared at: llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h:147