LLVM 22.0.0git
llvm::sandboxir::GenericSetter< GetterFn, SetterFn > Class Template Referencefinal

This class can be used for tracking most instruction setters. More...

#include "llvm/SandboxIR/Tracker.h"

Inheritance diagram for llvm::sandboxir::GenericSetter< GetterFn, SetterFn >:
[legend]

Public Member Functions

 GenericSetter (InstrT *I)
void revert (Tracker &Tracker) final
 This runs when changes get reverted.
void accept () final
 This runs when changes get accepted.
void dump (raw_ostream &OS) const final
LLVM_DUMP_METHOD void dump () const final
Public Member Functions inherited from llvm::sandboxir::IRChangeBase
virtual ~IRChangeBase ()=default

Detailed Description

template<auto GetterFn, auto SetterFn>
class llvm::sandboxir::GenericSetter< GetterFn, SetterFn >

This class can be used for tracking most instruction setters.

The two template arguments are:

  • GetterFn: The getter member function pointer (e.g., &Foo::get)
  • SetterFn: The setter member function pointer (e.g., &Foo::set) Upon construction, it saves a copy of the original value by calling the getter function. Revert sets the value back to the one saved, using the setter function provided.

Example: Tracker.track(std::make_unique< GenericSetter<&FooInst::get, &FooInst::set>>(I, Tracker));

Definition at line 277 of file Tracker.h.

Constructor & Destructor Documentation

◆ GenericSetter()

template<auto GetterFn, auto SetterFn>
llvm::sandboxir::GenericSetter< GetterFn, SetterFn >::GenericSetter ( InstrT * I)
inline

Definition at line 290 of file Tracker.h.

Member Function Documentation

◆ accept()

template<auto GetterFn, auto SetterFn>
void llvm::sandboxir::GenericSetter< GetterFn, SetterFn >::accept ( )
inlinefinalvirtual

This runs when changes get accepted.

Implements llvm::sandboxir::IRChangeBase.

Definition at line 292 of file Tracker.h.

◆ dump() [1/2]

template<auto GetterFn, auto SetterFn>
LLVM_DUMP_METHOD void llvm::sandboxir::GenericSetter< GetterFn, SetterFn >::dump ( ) const
inlinefinalvirtual

Implements llvm::sandboxir::IRChangeBase.

Definition at line 295 of file Tracker.h.

References const, llvm::dbgs(), dump(), and LLVM_DUMP_METHOD.

Referenced by dump().

◆ dump() [2/2]

template<auto GetterFn, auto SetterFn>
void llvm::sandboxir::GenericSetter< GetterFn, SetterFn >::dump ( raw_ostream & OS) const
inlinefinalvirtual

Implements llvm::sandboxir::IRChangeBase.

Definition at line 294 of file Tracker.h.

◆ revert()

template<auto GetterFn, auto SetterFn>
void llvm::sandboxir::GenericSetter< GetterFn, SetterFn >::revert ( Tracker & Tracker)
inlinefinalvirtual

This runs when changes get reverted.

Implements llvm::sandboxir::IRChangeBase.

Definition at line 291 of file Tracker.h.

References llvm::sandboxir::IRChangeBase::Tracker.


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