|
LLVM 23.0.0git
|
Rematerializer listener with the ability to re-create deleted registers and rollback rematerializations. More...
#include "llvm/CodeGen/Rematerializer.h"
Public Member Functions | |
| Rollbacker ()=default | |
| void | rollback (Rematerializer &Remater) |
| Re-creates all deleted registers and rolls back all rematerializations that were recorded. | |
| void | rematerializerNoteRegCreated (const Rematerializer &Remater, RegisterIdx RegIdx) override |
Called just after register NewRegIdx is created (following a rematerialization). | |
| void | rematerializerNoteRegDeleted (const Rematerializer &Remater, RegisterIdx RegIdx) override |
Called juste before register RegIdx is deleted from the MIR. | |
| Public Member Functions inherited from llvm::Rematerializer::Listener | |
| virtual | ~Listener ()=default |
Additional Inherited Members | |
| Public Types inherited from llvm::Rematerializer::Listener | |
| using | RegisterIdx = Rematerializer::RegisterIdx |
Rematerializer listener with the ability to re-create deleted registers and rollback rematerializations.
Starts recording register deletions and rematerializations as soon as it is attached to the rematerializer.
Definition at line 508 of file Rematerializer.h.
|
default |
|
overridevirtual |
Called just after register NewRegIdx is created (following a rematerialization).
At this point the rematerialization exists in the Remater state and the MIR but does not yet have any user.
Reimplemented from llvm::Rematerializer::Listener.
Definition at line 778 of file Rematerializer.cpp.
References llvm::Rematerializer::getOriginOf().
|
overridevirtual |
Called juste before register RegIdx is deleted from the MIR.
At this point the register still exists in the MIR but no longer has any user.
Reimplemented from llvm::Rematerializer::Listener.
Definition at line 785 of file Rematerializer.cpp.
References llvm::Rematerializer::isRematerializedRegister().
| void Rollbacker::rollback | ( | Rematerializer & | Remater | ) |
Re-creates all deleted registers and rolls back all rematerializations that were recorded.
Definition at line 792 of file Rematerializer.cpp.
References assert(), llvm::Rematerializer::getReg(), llvm::Rematerializer::Reg::isAlive(), llvm::Rematerializer::NoReg, llvm::Rematerializer::recreateReg(), llvm::Rematerializer::transferAllUsers(), and llvm::Rematerializer::updateLiveIntervals().