LLVM: llvm::CombinerInfo Struct Reference (original) (raw)

#include "[llvm/CodeGen/GlobalISel/CombinerInfo.h](CombinerInfo%5F8h%5Fsource.html)"

Public Types
enum class ObserverLevel { Basic, DCE, SinglePass }
Public Attributes
bool IllegalOpsAllowed
If IllegalOpsAllowed is false, the CombinerHelper will make use of the legalizerInfo to check for legality before each transformation.
bool LegalizeIllegalOps
If LegalizeIllegalOps is true, the Combiner will also legalize the illegal ops that are created.
const LegalizerInfo * LInfo
bool EnableOpt
Whether optimizations should be enabled.
bool EnableOptSize
Whether we're optimizing for size.
bool EnableMinSize
Whether we're optimizing for minsize (-Oz).
unsigned MaxIterations = 0
The maximum number of times the Combiner will iterate over the MachineFunction.
ObserverLevel ObserverLvl = ObserverLevel::Basic
Select how the Combiner acts on MIR changes.
bool EnableFullDCE = true
Whether dead code elimination is performed before each Combiner iteration.

Definition at line 24 of file CombinerInfo.h.

ObserverLevel

Enumerator
Basic Only retry combining created/changed instructions. This replicates the legacy default Observer behavior for use with fixed-point iteration.
DCE Enables Observer-based detection of dead instructions. This can save some compile-time if full disabling of fixed-point iteration is not desired. If the input IR doesn't contain dead instructions, consider disabling EnableFullDCE.
SinglePass Enables Observer-based DCE and additional heuristics that retry combining defined and used instructions of modified instructions. This provides a good balance between compile-time and completeness of combining without needing fixed-point iteration.

Definition at line 57 of file CombinerInfo.h.

~CombinerInfo()

virtual llvm::CombinerInfo::~CombinerInfo ( ) virtualdefault

EnableFullDCE

bool llvm::CombinerInfo::EnableFullDCE = true

Whether dead code elimination is performed before each Combiner iteration.

If Observer-based DCE is enabled, this controls if a full DCE pass is performed before the first Combiner iteration.

Definition at line 80 of file CombinerInfo.h.

EnableMinSize

bool llvm::CombinerInfo::EnableMinSize

EnableOpt

bool llvm::CombinerInfo::EnableOpt

Whether optimizations should be enabled.

This is to distinguish between uses of the combiner unconditionally and only when optimizations are specifically enabled/

Definition at line 47 of file CombinerInfo.h.

Referenced by CombinerInfo().

EnableOptSize

bool llvm::CombinerInfo::EnableOptSize

IllegalOpsAllowed

bool llvm::CombinerInfo::IllegalOpsAllowed

LegalizeIllegalOps

bool llvm::CombinerInfo::LegalizeIllegalOps

LInfo

MaxIterations

unsigned llvm::CombinerInfo::MaxIterations = 0

ObserverLvl

ObserverLevel llvm::CombinerInfo::ObserverLvl = ObserverLevel::Basic


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