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:
- include/llvm/CodeGen/GlobalISel/CombinerInfo.h