LLVM 23.0.0git
llvm::Rollbacker Class Reference

Rematerializer listener with the ability to re-create deleted registers and rollback rematerializations. More...

#include "llvm/CodeGen/Rematerializer.h"

Inheritance diagram for llvm::Rollbacker:
[legend]

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

Detailed Description

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.

Constructor & Destructor Documentation

◆ Rollbacker()

llvm::Rollbacker::Rollbacker ( )
default

Member Function Documentation

◆ rematerializerNoteRegCreated()

void Rollbacker::rematerializerNoteRegCreated ( const Rematerializer & Remater,
RegisterIdx NewRegIdx )
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().

◆ rematerializerNoteRegDeleted()

void Rollbacker::rematerializerNoteRegDeleted ( const Rematerializer & Remater,
RegisterIdx RegIdx )
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().

◆ rollback()

void Rollbacker::rollback ( Rematerializer & Remater)

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