20  for (
auto &ChangingMI : 
MRI.use_instructions(Reg)) {
 
   22    ChangingAllUsesOfReg.insert(&ChangingMI);
 
 
   27  for (
auto *ChangedMI : ChangingAllUsesOfReg)
 
   29  ChangingAllUsesOfReg.clear();
 
 
   34    : MF(MF), Delegate(Del) {
 
 
   45  MF.setObserver(&Observer);
 
 
   52    : Observers(Observers), TemporaryObserver(TemporaryObserver) {
 
   53  Observers.addObserver(&TemporaryObserver);
 
 
   57  Observers.removeObserver(&TemporaryObserver);
 
 
unsigned const MachineRegisterInfo * MRI
 
This contains common code to allow clients to notify changes to machine instr.
 
Abstract class that contains various methods for clients to notify about changes.
 
virtual void changingInstr(MachineInstr &MI)=0
This instruction is about to be mutated in some way.
 
LLVM_ABI void finishedChangingAllUsesOfReg()
All instructions reported as changing by changingAllUsesOfReg() have finished being changed.
 
virtual void changedInstr(MachineInstr &MI)=0
This instruction was mutated in some way.
 
LLVM_ABI void changingAllUsesOfReg(const MachineRegisterInfo &MRI, Register Reg)
All the instructions using the given register are being changed.
 
Simple wrapper observer that takes several observers, and calls each one for each event.
 
MachineRegisterInfo - Keep track of information for virtual and physical registers,...
 
LLVM_ABI ~RAIIDelegateInstaller()
 
LLVM_ABI RAIIDelegateInstaller(MachineFunction &MF, MachineFunction::Delegate *Del)
 
LLVM_ABI ~RAIIMFObserverInstaller()
 
LLVM_ABI RAIIMFObserverInstaller(MachineFunction &MF, GISelChangeObserver &Observer)
 
LLVM_ABI ~RAIITemporaryObserverInstaller()
 
LLVM_ABI RAIITemporaryObserverInstaller(GISelObserverWrapper &Observers, GISelChangeObserver &TemporaryObserver)
 
Wrapper class representing virtual and physical registers.
 
This is an optimization pass for GlobalISel generic memory operations.