LLVM 22.0.0git
detail::RecordKeeperImpl Struct Reference

This class represents the internal implementation of the RecordKeeper. More...

Public Member Functions

 RecordKeeperImpl (RecordKeeper &RK)
void dumpAllocationStats (raw_ostream &OS) const

Public Attributes

BumpPtrAllocator Allocator
std::vector< BitsRecTy * > SharedBitsRecTys
BitRecTy SharedBitRecTy
IntRecTy SharedIntRecTy
StringRecTy SharedStringRecTy
DagRecTy SharedDagRecTy
RecordRecTy AnyRecord
UnsetInit TheUnsetInit
BitInit TrueBitInit
BitInit FalseBitInit
FoldingSet< ArgumentInitTheArgumentInitPool
FoldingSet< BitsInitTheBitsInitPool
std::map< int64_t, IntInit * > TheIntInitPool
StringMap< const StringInit *, BumpPtrAllocator & > StringInitStringPool
StringMap< const StringInit *, BumpPtrAllocator & > StringInitCodePool
FoldingSet< ListInitTheListInitPool
FoldingSet< UnOpInitTheUnOpInitPool
FoldingSet< BinOpInitTheBinOpInitPool
FoldingSet< TernOpInitTheTernOpInitPool
FoldingSet< FoldOpInitTheFoldOpInitPool
FoldingSet< IsAOpInitTheIsAOpInitPool
FoldingSet< ExistsOpInitTheExistsOpInitPool
FoldingSet< InstancesOpInitTheInstancesOpInitPool
DenseMap< std::pair< const RecTy *, const Init * >, VarInit * > TheVarInitPool
DenseMap< std::pair< const TypedInit *, unsigned >, VarBitInit * > TheVarBitInitPool
FoldingSet< VarDefInitTheVarDefInitPool
DenseMap< std::pair< const Init *, const StringInit * >, FieldInit * > TheFieldInitPool
FoldingSet< CondOpInitTheCondOpInitPool
FoldingSet< DagInitTheDagInitPool
FoldingSet< RecordRecTyRecordTypePool
unsigned AnonCounter
unsigned LastRecordID

Detailed Description

This class represents the internal implementation of the RecordKeeper.

It contains all of the contextual static state of the Record classes. It is kept out-of-line to simplify dependencies, and also make it easier for internal classes to access the uniquer state of the keeper.

Definition at line 53 of file Record.cpp.

Constructor & Destructor Documentation

◆ RecordKeeperImpl()

detail::RecordKeeperImpl::RecordKeeperImpl ( RecordKeeper & RK)
inline

Definition at line 54 of file Record.cpp.

References AnyRecord, SharedBitRecTy, SharedDagRecTy, SharedIntRecTy, and SharedStringRecTy.

Member Function Documentation

◆ dumpAllocationStats()

Member Data Documentation

◆ Allocator

◆ AnonCounter

unsigned detail::RecordKeeperImpl::AnonCounter

Definition at line 96 of file Record.cpp.

Referenced by dumpAllocationStats().

◆ AnyRecord

RecordRecTy detail::RecordKeeperImpl::AnyRecord

Definition at line 68 of file Record.cpp.

Referenced by llvm::RecordRecTy::get(), and RecordKeeperImpl().

◆ FalseBitInit

BitInit detail::RecordKeeperImpl::FalseBitInit

Definition at line 71 of file Record.cpp.

Referenced by llvm::BitInit::get().

◆ LastRecordID

unsigned detail::RecordKeeperImpl::LastRecordID

Definition at line 97 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::Record::getNewUID().

◆ RecordTypePool

FoldingSet<RecordRecTy> detail::RecordKeeperImpl::RecordTypePool

Definition at line 94 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::RecordRecTy::get().

◆ SharedBitRecTy

BitRecTy detail::RecordKeeperImpl::SharedBitRecTy

Definition at line 63 of file Record.cpp.

Referenced by RecordKeeperImpl().

◆ SharedBitsRecTys

std::vector<BitsRecTy *> detail::RecordKeeperImpl::SharedBitsRecTys

Definition at line 62 of file Record.cpp.

Referenced by llvm::BitsRecTy::get().

◆ SharedDagRecTy

DagRecTy detail::RecordKeeperImpl::SharedDagRecTy

Definition at line 66 of file Record.cpp.

Referenced by RecordKeeperImpl().

◆ SharedIntRecTy

IntRecTy detail::RecordKeeperImpl::SharedIntRecTy

Definition at line 64 of file Record.cpp.

Referenced by RecordKeeperImpl().

◆ SharedStringRecTy

StringRecTy detail::RecordKeeperImpl::SharedStringRecTy

Definition at line 65 of file Record.cpp.

Referenced by RecordKeeperImpl().

◆ StringInitCodePool

StringMap<const StringInit *, BumpPtrAllocator &> detail::RecordKeeperImpl::StringInitCodePool

Definition at line 77 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::StringInit::get().

◆ StringInitStringPool

StringMap<const StringInit *, BumpPtrAllocator &> detail::RecordKeeperImpl::StringInitStringPool

Definition at line 76 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::StringInit::get().

◆ TheArgumentInitPool

FoldingSet<ArgumentInit> detail::RecordKeeperImpl::TheArgumentInitPool

Definition at line 73 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::ArgumentInit::get().

◆ TheBinOpInitPool

FoldingSet<BinOpInit> detail::RecordKeeperImpl::TheBinOpInitPool

Definition at line 80 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::BinOpInit::get().

◆ TheBitsInitPool

FoldingSet<BitsInit> detail::RecordKeeperImpl::TheBitsInitPool

Definition at line 74 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::BitsInit::get().

◆ TheCondOpInitPool

FoldingSet<CondOpInit> detail::RecordKeeperImpl::TheCondOpInitPool

Definition at line 92 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::CondOpInit::get().

◆ TheDagInitPool

FoldingSet<DagInit> detail::RecordKeeperImpl::TheDagInitPool

Definition at line 93 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::DagInit::get().

◆ TheExistsOpInitPool

FoldingSet<ExistsOpInit> detail::RecordKeeperImpl::TheExistsOpInitPool

Definition at line 84 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::ExistsOpInit::get().

◆ TheFieldInitPool

DenseMap<std::pair<const Init *, const StringInit *>, FieldInit *> detail::RecordKeeperImpl::TheFieldInitPool

Definition at line 91 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::FieldInit::get().

◆ TheFoldOpInitPool

FoldingSet<FoldOpInit> detail::RecordKeeperImpl::TheFoldOpInitPool

Definition at line 82 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::FoldOpInit::get().

◆ TheInstancesOpInitPool

FoldingSet<InstancesOpInit> detail::RecordKeeperImpl::TheInstancesOpInitPool

Definition at line 85 of file Record.cpp.

Referenced by llvm::InstancesOpInit::get().

◆ TheIntInitPool

std::map<int64_t, IntInit *> detail::RecordKeeperImpl::TheIntInitPool

Definition at line 75 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::IntInit::get().

◆ TheIsAOpInitPool

FoldingSet<IsAOpInit> detail::RecordKeeperImpl::TheIsAOpInitPool

Definition at line 83 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::IsAOpInit::get().

◆ TheListInitPool

FoldingSet<ListInit> detail::RecordKeeperImpl::TheListInitPool

Definition at line 78 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::ListInit::get().

◆ TheTernOpInitPool

FoldingSet<TernOpInit> detail::RecordKeeperImpl::TheTernOpInitPool

Definition at line 81 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::TernOpInit::get().

◆ TheUnOpInitPool

FoldingSet<UnOpInit> detail::RecordKeeperImpl::TheUnOpInitPool

Definition at line 79 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::UnOpInit::get().

◆ TheUnsetInit

UnsetInit detail::RecordKeeperImpl::TheUnsetInit

Definition at line 69 of file Record.cpp.

◆ TheVarBitInitPool

DenseMap<std::pair<const TypedInit *, unsigned>, VarBitInit *> detail::RecordKeeperImpl::TheVarBitInitPool

Definition at line 88 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::VarBitInit::get().

◆ TheVarDefInitPool

FoldingSet<VarDefInit> detail::RecordKeeperImpl::TheVarDefInitPool

Definition at line 89 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::VarDefInit::get().

◆ TheVarInitPool

DenseMap<std::pair<const RecTy *, const Init *>, VarInit *> detail::RecordKeeperImpl::TheVarInitPool

Definition at line 86 of file Record.cpp.

Referenced by dumpAllocationStats(), and llvm::VarInit::get().

◆ TrueBitInit

BitInit detail::RecordKeeperImpl::TrueBitInit

Definition at line 70 of file Record.cpp.

Referenced by llvm::BitInit::get().


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