18 #ifndef LLVM_CODEGEN_GLOBALISEL_COMBINER_HELPER_H 19 #define LLVM_CODEGEN_GLOBALISEL_COMBINER_HELPER_H 23 class GISelChangeObserver;
24 class MachineIRBuilder;
25 class MachineRegisterInfo;
43 unsigned ToReg)
const;
This class represents lattice values for constants.
bool tryCombine(MachineInstr &MI)
Try to transform MI by using all of the above combine functions.
CombinerHelper(GISelChangeObserver &Observer, MachineIRBuilder &B)
Abstract class that contains various methods for clients to notify about changes. ...
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
void replaceRegWith(MachineRegisterInfo &MRI, unsigned FromReg, unsigned ToReg) const
MachineRegisterInfo::replaceRegWith() and inform the observer of the changes.
Helper class to build MachineInstr.
void replaceRegOpWith(MachineRegisterInfo &MRI, MachineOperand &FromRegOp, unsigned ToReg) const
Replace a single register operand with a new register and inform the observer of the changes...
bool tryCombineExtendingLoads(MachineInstr &MI)
If MI is extend that consumes the result of a load, try to combine it.
bool tryCombineCopy(MachineInstr &MI)
If MI is COPY, try to combine it.
MachineOperand class - Representation of each machine instruction operand.
MachineRegisterInfo - Keep track of information for virtual and physical registers, including vreg register classes, use/def chains for registers, etc.
Representation of each machine instruction.