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