13 #ifndef LLVM_CODEGEN_GLOBALISEL_COMBINER_INFO_H 14 #define LLVM_CODEGEN_GLOBALISEL_COMBINER_INFO_H 19 class GISelChangeObserver;
22 class MachineIRBuilder;
23 class MachineRegisterInfo;
36 "Expecting legalizerInfo when illegalops not allowed");
This class represents lattice values for constants.
virtual ~CombinerInfo()=default
virtual bool combine(GISelChangeObserver &Observer, MachineInstr &MI, MachineIRBuilder &B) const =0
Attempt to combine instructions using MI as the root.
const LegalizerInfo * LInfo
CombinerInfo(bool AllowIllegalOps, bool ShouldLegalizeIllegal, const LegalizerInfo *LInfo, bool OptEnabled, bool OptSize, bool MinSize)
bool EnableOptSize
Whether we're optimizing for size.
Abstract class that contains various methods for clients to notify about changes.
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
bool EnableMinSize
Whether we're optimizing for minsize (-Oz).
Helper class to build MachineInstr.
bool IllegalOpsAllowed
If IllegalOpsAllowed is false, the CombinerHelper will make use of the legalizerInfo to check for leg...
bool LegalizeIllegalOps
If LegalizeIllegalOps is true, the Combiner will also legalize the illegal ops that are created.
Representation of each machine instruction.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
bool EnableOpt
Whether optimizations should be enabled.