14 #ifndef LLVM_CODEGEN_GLOBALISEL_COMBINER_INFO_H 15 #define LLVM_CODEGEN_GLOBALISEL_COMBINER_INFO_H 20 class GISelChangeObserver;
23 class MachineIRBuilder;
24 class MachineRegisterInfo;
35 "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, LegalizerInfo *LInfo)
Abstract class that contains various methods for clients to notify about changes. ...
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
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())