LLVM 20.0.0git
|
#include "llvm/CodeGen/GlobalISel/CombinerInfo.h"
Public Types | |
enum class | ObserverLevel { Basic , DCE , SinglePass } |
Public Member Functions | |
CombinerInfo (bool AllowIllegalOps, bool ShouldLegalizeIllegal, const LegalizerInfo *LInfo, bool OptEnabled, bool OptSize, bool MinSize) | |
virtual | ~CombinerInfo ()=default |
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.
|
strong |
Definition at line 57 of file CombinerInfo.h.
|
inline |
Definition at line 25 of file CombinerInfo.h.
References assert(), LegalizeIllegalOps, and LInfo.
|
virtualdefault |
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.
Referenced by llvm::Combiner::combineMachineInstrs().
bool llvm::CombinerInfo::EnableMinSize |
Whether we're optimizing for minsize (-Oz).
Definition at line 51 of file CombinerInfo.h.
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.
bool llvm::CombinerInfo::EnableOptSize |
Whether we're optimizing for size.
Definition at line 49 of file CombinerInfo.h.
bool llvm::CombinerInfo::IllegalOpsAllowed |
If IllegalOpsAllowed
is false, the CombinerHelper will make use of the legalizerInfo to check for legality before each transformation.
Definition at line 37 of file CombinerInfo.h.
bool llvm::CombinerInfo::LegalizeIllegalOps |
If LegalizeIllegalOps
is true, the Combiner will also legalize the illegal ops that are created.
Definition at line 41 of file CombinerInfo.h.
Referenced by CombinerInfo().
const LegalizerInfo* llvm::CombinerInfo::LInfo |
Definition at line 42 of file CombinerInfo.h.
Referenced by CombinerInfo().
unsigned llvm::CombinerInfo::MaxIterations = 0 |
The maximum number of times the Combiner will iterate over the MachineFunction.
Setting this to 0 enables fixed-point iteration.
Definition at line 55 of file CombinerInfo.h.
Referenced by llvm::Combiner::combineMachineInstrs().
ObserverLevel llvm::CombinerInfo::ObserverLvl = ObserverLevel::Basic |
Select how the Combiner acts on MIR changes.
Definition at line 75 of file CombinerInfo.h.
Referenced by llvm::Combiner::combineMachineInstrs().