LLVM: llvm::GISelObserverWrapper Class Reference (original) (raw)

Simple wrapper observer that takes several observers, and calls each one for each event. More...

#include "[llvm/CodeGen/GlobalISel/GISelChangeObserver.h](GISelChangeObserver%5F8h%5Fsource.html)"

Public Member Functions
GISelObserverWrapper ()=default
GISelObserverWrapper (ArrayRef< GISelChangeObserver * > Obs)
void addObserver (GISelChangeObserver *O)
void removeObserver (GISelChangeObserver *O)
void clearObservers ()
void erasingInstr (MachineInstr &MI) override
An instruction is about to be erased.
void createdInstr (MachineInstr &MI) override
An instruction has been created and inserted into the function.
void changingInstr (MachineInstr &MI) override
This instruction is about to be mutated in some way.
void changedInstr (MachineInstr &MI) override
This instruction was mutated in some way.
void MF_HandleInsertion (MachineInstr &MI) override
Callback after an insertion. This should not modify the MI directly.
void MF_HandleRemoval (MachineInstr &MI) override
Callback before a removal. This should not modify the MI directly.
Public Member Functions inherited from llvm::MachineFunction::Delegate
virtual ~Delegate ()=default
virtual void MF_HandleChangeDesc (MachineInstr &MI, const MCInstrDesc &TID)
Callback before changing MCInstrDesc.
Public Member Functions inherited from llvm::GISelChangeObserver
virtual ~GISelChangeObserver ()=default
LLVM_ABI void changingAllUsesOfReg (const MachineRegisterInfo &MRI, Register Reg)
All the instructions using the given register are being changed.
LLVM_ABI void finishedChangingAllUsesOfReg ()
All instructions reported as changing by changingAllUsesOfReg() have finished being changed.

Simple wrapper observer that takes several observers, and calls each one for each event.

If there are multiple observers (say CSE, Legalizer, Combiner), it's sufficient to register this to the machine function as the delegate.

Definition at line 67 of file GISelChangeObserver.h.

llvm::GISelObserverWrapper::GISelObserverWrapper ( ) default

GISelObserverWrapper() [2/2]

addObserver()

changedInstr()

void llvm::GISelObserverWrapper::changedInstr ( MachineInstr & MI) inlineoverridevirtual

changingInstr()

void llvm::GISelObserverWrapper::changingInstr ( MachineInstr & MI) inlineoverridevirtual

clearObservers()

void llvm::GISelObserverWrapper::clearObservers ( ) inline

createdInstr()

void llvm::GISelObserverWrapper::createdInstr ( MachineInstr & MI) inlineoverridevirtual

erasingInstr()

void llvm::GISelObserverWrapper::erasingInstr ( MachineInstr & MI) inlineoverridevirtual

MF_HandleInsertion()

void llvm::GISelObserverWrapper::MF_HandleInsertion ( MachineInstr & MI) inlineoverridevirtual

MF_HandleRemoval()

void llvm::GISelObserverWrapper::MF_HandleRemoval ( MachineInstr & MI) inlineoverridevirtual

removeObserver()


The documentation for this class was generated from the following file: