LLVM  16.0.0git
Public Member Functions | List of all members
llvm::RecordKeeper Class Reference

#include "llvm/TableGen/Record.h"

Public Member Functions

 RecordKeeper ()
 
 ~RecordKeeper ()
 
detail::RecordKeeperImplgetImpl ()
 Return the internal implementation of the RecordKeeper. More...
 
const std::string getInputFilename () const
 Get the main TableGen input file's name. More...
 
const RecordMap & getClasses () const
 Get the map of classes. More...
 
const RecordMap & getDefs () const
 Get the map of records (defs). More...
 
const GlobalMap & getGlobals () const
 Get the map of global variables. More...
 
RecordgetClass (StringRef Name) const
 Get the class with the specified name. More...
 
RecordgetDef (StringRef Name) const
 Get the concrete record with the specified name. More...
 
InitgetGlobal (StringRef Name) const
 Get the Init value of the specified global variable. More...
 
void saveInputFilename (std::string Filename)
 
void addClass (std::unique_ptr< Record > R)
 
void addDef (std::unique_ptr< Record > R)
 
void addExtraGlobal (StringRef Name, Init *I)
 
InitgetNewAnonymousName ()
 GetNewAnonymousName - Generate a unique anonymous name that can be used as an identifier. More...
 
void startPhaseTiming ()
 Start phase timing; called if the –time-phases option is specified. More...
 
void startTimer (StringRef Name)
 Start timing a phase. Automatically stops any previous phase timer. More...
 
void stopTimer ()
 Stop timing a phase. More...
 
void startBackendTimer (StringRef Name)
 Start timing the overall backend. More...
 
void stopBackendTimer ()
 Stop timing the overall backend. More...
 
void stopPhaseTiming ()
 Stop phase timing and print the report. More...
 
std::vector< Record * > getAllDerivedDefinitions (StringRef ClassName) const
 Get all the concrete records that inherit from the one specified class. More...
 
std::vector< Record * > getAllDerivedDefinitions (ArrayRef< StringRef > ClassNames) const
 Get all the concrete records that inherit from all the specified classes. More...
 
std::vector< Record * > getAllDerivedDefinitionsIfDefined (StringRef ClassName) const
 Get all the concrete records that inherit from specified class, if the class is defined. More...
 
void dump () const
 

Detailed Description

Definition at line 1889 of file Record.h.

Constructor & Destructor Documentation

◆ RecordKeeper()

RecordKeeper::RecordKeeper ( )

Definition at line 2840 of file Record.cpp.

◆ ~RecordKeeper()

RecordKeeper::~RecordKeeper ( )
default

Member Function Documentation

◆ addClass()

void llvm::RecordKeeper::addClass ( std::unique_ptr< Record R)
inline

Definition at line 1936 of file Record.h.

References assert(), llvm::MipsISD::Ins, and move.

◆ addDef()

void llvm::RecordKeeper::addDef ( std::unique_ptr< Record R)
inline

Definition at line 1943 of file Record.h.

References assert(), llvm::MipsISD::Ins, and move.

◆ addExtraGlobal()

void llvm::RecordKeeper::addExtraGlobal ( StringRef  Name,
Init I 
)
inline

Definition at line 1950 of file Record.h.

References assert(), getDef(), I, and llvm::MipsISD::Ins.

◆ dump()

LLVM_DUMP_METHOD void RecordKeeper::dump ( ) const

Definition at line 2845 of file Record.cpp.

References llvm::errs().

◆ getAllDerivedDefinitions() [1/2]

std::vector< Record * > RecordKeeper::getAllDerivedDefinitions ( ArrayRef< StringRef ClassNames) const

Get all the concrete records that inherit from all the specified classes.

The classes must be defined.

Definition at line 2917 of file Record.cpp.

References llvm::all_of(), assert(), getClass(), getDefs(), llvm::PrintFatalError(), and llvm::ArrayRef< T >::size().

◆ getAllDerivedDefinitions() [2/2]

std::vector< Record * > RecordKeeper::getAllDerivedDefinitions ( StringRef  ClassName) const

Get all the concrete records that inherit from the one specified class.

The class must be defined.

Definition at line 2907 of file Record.cpp.

References llvm::makeArrayRef().

Referenced by getAllDerivedDefinitionsIfDefined(), llvm::DirectiveLanguage::getClauses(), and llvm::DirectiveLanguage::getDirectives().

◆ getAllDerivedDefinitionsIfDefined()

std::vector< Record * > RecordKeeper::getAllDerivedDefinitionsIfDefined ( StringRef  ClassName) const

Get all the concrete records that inherit from specified class, if the class is defined.

Returns an empty vector if the class is not defined.

Definition at line 2941 of file Record.cpp.

References getAllDerivedDefinitions(), and getClass().

◆ getClass()

Record* llvm::RecordKeeper::getClass ( StringRef  Name) const
inline

Get the class with the specified name.

Definition at line 1913 of file Record.h.

References I.

Referenced by getAllDerivedDefinitions(), and getAllDerivedDefinitionsIfDefined().

◆ getClasses()

const RecordMap& llvm::RecordKeeper::getClasses ( ) const
inline

Get the map of classes.

Definition at line 1904 of file Record.h.

Referenced by llvm::operator<<().

◆ getDef()

Record* llvm::RecordKeeper::getDef ( StringRef  Name) const
inline

Get the concrete record with the specified name.

Definition at line 1919 of file Record.h.

References I.

Referenced by addExtraGlobal(), llvm::UnOpInit::Fold(), llvm::ExistsOpInit::Fold(), and getGlobal().

◆ getDefs()

const RecordMap& llvm::RecordKeeper::getDefs ( ) const
inline

Get the map of records (defs).

Definition at line 1907 of file Record.h.

Referenced by getAllDerivedDefinitions(), and llvm::operator<<().

◆ getGlobal()

Init* llvm::RecordKeeper::getGlobal ( StringRef  Name) const
inline

Get the Init value of the specified global variable.

Definition at line 1925 of file Record.h.

References getDef().

◆ getGlobals()

const GlobalMap& llvm::RecordKeeper::getGlobals ( ) const
inline

Get the map of global variables.

Definition at line 1910 of file Record.h.

◆ getImpl()

detail::RecordKeeperImpl& llvm::RecordKeeper::getImpl ( )
inline

◆ getInputFilename()

const std::string llvm::RecordKeeper::getInputFilename ( ) const
inline

Get the main TableGen input file's name.

Definition at line 1901 of file Record.h.

◆ getNewAnonymousName()

Init * RecordKeeper::getNewAnonymousName ( )

GetNewAnonymousName - Generate a unique anonymous name that can be used as an identifier.

Definition at line 2861 of file Record.cpp.

References llvm::AnonymousNameInit::get(), and getImpl().

◆ saveInputFilename()

void llvm::RecordKeeper::saveInputFilename ( std::string  Filename)
inline

Definition at line 1932 of file Record.h.

Referenced by llvm::TableGenMain(), and llvm::TableGenParseFile().

◆ startBackendTimer()

void RecordKeeper::startBackendTimer ( StringRef  Name)

Start timing the overall backend.

If the backend itself starts a timer, then this timer is cleared.

Definition at line 2890 of file Record.cpp.

References startTimer().

Referenced by llvm::TableGenMain().

◆ startPhaseTiming()

void llvm::RecordKeeper::startPhaseTiming ( )
inline

Start phase timing; called if the –time-phases option is specified.

Definition at line 1960 of file Record.h.

Referenced by llvm::TableGenMain().

◆ startTimer()

void RecordKeeper::startTimer ( StringRef  Name)

Start timing a phase. Automatically stops any previous phase timer.

Definition at line 2868 of file Record.cpp.

References llvm::Timer::clear(), llvm::Timer::isRunning(), llvm::Timer::startTimer(), and llvm::Timer::stopTimer().

Referenced by startBackendTimer(), and llvm::TableGenMain().

◆ stopBackendTimer()

void RecordKeeper::stopBackendTimer ( )

Stop timing the overall backend.

Definition at line 2897 of file Record.cpp.

References stopTimer().

Referenced by llvm::TableGenMain().

◆ stopPhaseTiming()

void llvm::RecordKeeper::stopPhaseTiming ( )
inline

Stop phase timing and print the report.

Definition at line 1978 of file Record.h.

Referenced by llvm::TableGenMain().

◆ stopTimer()

void RecordKeeper::stopTimer ( )

Stop timing a phase.

Definition at line 2883 of file Record.cpp.

References assert(), and llvm::Timer::stopTimer().

Referenced by stopBackendTimer(), and llvm::TableGenMain().


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