LLVM 20.0.0git
|
This class acts as the glue that joins the CombinerHelper to the overall Combine algorithm. More...
Public Member Functions | |
virtual | ~WorkListMaintainer ()=default |
void | reportFullyCreatedInstrs () |
virtual void | reset ()=0 |
virtual void | appliedCombine ()=0 |
Public Member Functions inherited from llvm::GISelChangeObserver | |
virtual | ~GISelChangeObserver ()=default |
virtual void | erasingInstr (MachineInstr &MI)=0 |
An instruction is about to be erased. | |
virtual void | createdInstr (MachineInstr &MI)=0 |
An instruction has been created and inserted into the function. | |
virtual void | changingInstr (MachineInstr &MI)=0 |
This instruction is about to be mutated in some way. | |
virtual void | changedInstr (MachineInstr &MI)=0 |
This instruction was mutated in some way. | |
void | changingAllUsesOfReg (const MachineRegisterInfo &MRI, Register Reg) |
All the instructions using the given register are being changed. | |
void | finishedChangingAllUsesOfReg () |
All instructions reported as changing by changingAllUsesOfReg() have finished being changed. | |
Static Public Member Functions | |
static std::unique_ptr< WorkListMaintainer > | create (Level Lvl, WorkListTy &WorkList, MachineRegisterInfo &MRI) |
Protected Types | |
using | Level = CombinerInfo::ObserverLevel |
Protected Attributes | |
SmallSetVector< const MachineInstr *, 32 > | CreatedInstrs |
The instructions that have been created but we want to report once they have their operands. | |
This class acts as the glue that joins the CombinerHelper to the overall Combine algorithm.
The CombinerHelper is intended to report the modifications it makes to the MIR to the GISelChangeObserver and the observer subclass will act on these events.
Definition at line 52 of file Combiner.cpp.
|
protected |
Definition at line 59 of file Combiner.cpp.
|
virtualdefault |
|
pure virtual |
Implemented in llvm::Combiner::WorkListMaintainerImpl< Lvl >.
|
static |
Definition at line 209 of file Combiner.cpp.
References llvm_unreachable, and llvm::Combiner::MRI.
|
inline |
Definition at line 67 of file Combiner.cpp.
References llvm::Combiner::WorkListMaintainer::CreatedInstrs, llvm::dbgs(), LLVM_DEBUG, and MI.
|
pure virtual |
Implemented in llvm::Combiner::WorkListMaintainerImpl< Lvl >.
|
protected |
The instructions that have been created but we want to report once they have their operands.
This is only maintained if debug output is requested.
Definition at line 57 of file Combiner.cpp.
Referenced by llvm::Combiner::WorkListMaintainerImpl< Lvl >::createdInstr(), llvm::Combiner::WorkListMaintainerImpl< Lvl >::erasingInstr(), and llvm::Combiner::WorkListMaintainer::reportFullyCreatedInstrs().