LLVM 17.0.0git
|
#include "llvm/CodeGen/GlobalISel/CombinerInfo.h"
Public Member Functions | |
CombinerInfo (bool AllowIllegalOps, bool ShouldLegalizeIllegal, const LegalizerInfo *LInfo, bool OptEnabled, bool OptSize, bool MinSize) | |
virtual | ~CombinerInfo ()=default |
virtual bool | combine (GISelChangeObserver &Observer, MachineInstr &MI, MachineIRBuilder &B) const =0 |
Attempt to combine instructions using MI as the root. | |
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). | |
Definition at line 26 of file CombinerInfo.h.
|
inline |
Definition at line 28 of file CombinerInfo.h.
References assert(), LegalizeIllegalOps, and LInfo.
|
virtualdefault |
|
pure virtual |
Attempt to combine instructions using MI as the root.
Use Observer to report the creation, modification, and erasure of instructions. GISelChangeObserver will automatically report certain kinds of operations. These operations are:
However, it is important to report instruction modification and this is not automatic.
Referenced by llvm::Combiner::combineMachineInstrs().
bool llvm::CombinerInfo::EnableMinSize |
Whether we're optimizing for minsize (-Oz).
Definition at line 54 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 50 of file CombinerInfo.h.
bool llvm::CombinerInfo::EnableOptSize |
Whether we're optimizing for size.
Definition at line 52 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 40 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 44 of file CombinerInfo.h.
Referenced by CombinerInfo().
const LegalizerInfo* llvm::CombinerInfo::LInfo |
Definition at line 45 of file CombinerInfo.h.
Referenced by CombinerInfo().