LLVM  13.0.0git
Macros | Functions | Variables
Record.cpp File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TableGen/Error.h"
#include "llvm/TableGen/Record.h"
#include <cassert>
#include <cstdint>
#include <memory>
#include <map>
#include <string>
#include <utility>
#include <vector>
Include dependency graph for Record.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "tblgen-records"
 

Functions

static void ProfileRecordRecTy (FoldingSetNodeID &ID, ArrayRef< Record * > Classes)
 
static RecordRecTyresolveRecordTypes (RecordRecTy *T1, RecordRecTy *T2)
 
static void ProfileBitsInit (FoldingSetNodeID &ID, ArrayRef< Init * > Range)
 
static bool canFitInBitfield (int64_t Value, unsigned NumBits)
 
static void ProfileListInit (FoldingSetNodeID &ID, ArrayRef< Init * > Range, RecTy *EltTy)
 
static void ProfileUnOpInit (FoldingSetNodeID &ID, unsigned Opcode, Init *Op, RecTy *Type)
 
static void ProfileBinOpInit (FoldingSetNodeID &ID, unsigned Opcode, Init *LHS, Init *RHS, RecTy *Type)
 
static StringInitConcatStringInits (const StringInit *I0, const StringInit *I1)
 
static StringInitinterleaveStringList (const ListInit *List, const StringInit *Delim)
 
static StringInitinterleaveIntList (const ListInit *List, const StringInit *Delim)
 
static ListInitConcatListInits (const ListInit *LHS, const ListInit *RHS)
 
static void ProfileTernOpInit (FoldingSetNodeID &ID, unsigned Opcode, Init *LHS, Init *MHS, Init *RHS, RecTy *Type)
 
static InitItemApply (Init *LHS, Init *MHSe, Init *RHS, Record *CurRec)
 
static InitForeachDagApply (Init *LHS, DagInit *MHSd, Init *RHS, Record *CurRec)
 
static InitForeachHelper (Init *LHS, Init *MHS, Init *RHS, RecTy *Type, Record *CurRec)
 
static InitFilterHelper (Init *LHS, Init *MHS, Init *RHS, RecTy *Type, Record *CurRec)
 
static void ProfileFoldOpInit (FoldingSetNodeID &ID, Init *A, Init *B, Init *Start, Init *List, Init *Expr, RecTy *Type)
 
static void ProfileIsAOpInit (FoldingSetNodeID &ID, RecTy *CheckType, Init *Expr)
 
static void ProfileVarDefInit (FoldingSetNodeID &ID, Record *Class, ArrayRef< Init * > Args)
 
static void ProfileCondOpInit (FoldingSetNodeID &ID, ArrayRef< Init * > CondRange, ArrayRef< Init * > ValRange, const RecTy *ValType)
 
static void ProfileDagInit (FoldingSetNodeID &ID, Init *V, StringInit *VN, ArrayRef< Init * > ArgRange, ArrayRef< StringInit * > NameRange)
 

Variables

static BumpPtrAllocator Allocator
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "tblgen-records"

Definition at line 42 of file Record.cpp.

Function Documentation

◆ canFitInBitfield()

static bool canFitInBitfield ( int64_t  Value,
unsigned  NumBits 
)
static

Definition at line 460 of file Record.cpp.

Referenced by llvm::IntInit::convertInitializerTo().

◆ ConcatListInits()

static ListInit* ConcatListInits ( const ListInit LHS,
const ListInit RHS 
)
static

◆ ConcatStringInits()

static StringInit* ConcatStringInits ( const StringInit I0,
const StringInit I1 
)
static

◆ FilterHelper()

static Init* FilterHelper ( Init LHS,
Init MHS,
Init RHS,
RecTy Type,
Record CurRec 
)
static

◆ ForeachDagApply()

static Init* ForeachDagApply ( Init LHS,
DagInit MHSd,
Init RHS,
Record CurRec 
)
static

◆ ForeachHelper()

static Init* ForeachHelper ( Init LHS,
Init MHS,
Init RHS,
RecTy Type,
Record CurRec 
)
static

Definition at line 1245 of file Record.cpp.

References ForeachDagApply(), llvm::ListInit::get(), and ItemApply().

Referenced by llvm::TernOpInit::Fold().

◆ interleaveIntList()

static StringInit* interleaveIntList ( const ListInit List,
const StringInit Delim 
)
static

◆ interleaveStringList()

static StringInit* interleaveStringList ( const ListInit List,
const StringInit Delim 
)
static

◆ ItemApply()

static Init* ItemApply ( Init LHS,
Init MHSe,
Init RHS,
Record CurRec 
)
static

Definition at line 1210 of file Record.cpp.

References llvm::Init::resolveReferences().

Referenced by FilterHelper(), ForeachDagApply(), and ForeachHelper().

◆ ProfileBinOpInit()

static void ProfileBinOpInit ( FoldingSetNodeID ID,
unsigned  Opcode,
Init LHS,
Init RHS,
RecTy Type 
)
static

Definition at line 855 of file Record.cpp.

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

◆ ProfileBitsInit()

static void ProfileBitsInit ( FoldingSetNodeID ID,
ArrayRef< Init * >  Range 
)
static

Definition at line 323 of file Record.cpp.

References I, and llvm::ArrayRef< T >::size().

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

◆ ProfileCondOpInit()

static void ProfileCondOpInit ( FoldingSetNodeID ID,
ArrayRef< Init * >  CondRange,
ArrayRef< Init * >  ValRange,
const RecTy ValType 
)
static

◆ ProfileDagInit()

static void ProfileDagInit ( FoldingSetNodeID ID,
Init V,
StringInit VN,
ArrayRef< Init * >  ArgRange,
ArrayRef< StringInit * >  NameRange 
)
static

◆ ProfileFoldOpInit()

static void ProfileFoldOpInit ( FoldingSetNodeID ID,
Init A,
Init B,
Init Start,
Init List,
Init Expr,
RecTy Type 
)
static

Definition at line 1473 of file Record.cpp.

Referenced by llvm::FoldOpInit::Profile().

◆ ProfileIsAOpInit()

static void ProfileIsAOpInit ( FoldingSetNodeID ID,
RecTy CheckType,
Init Expr 
)
static

Definition at line 1544 of file Record.cpp.

References CheckType().

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

◆ ProfileListInit()

static void ProfileListInit ( FoldingSetNodeID ID,
ArrayRef< Init * >  Range,
RecTy EltTy 
)
static

Definition at line 551 of file Record.cpp.

References I, and llvm::ArrayRef< T >::size().

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

◆ ProfileRecordRecTy()

static void ProfileRecordRecTy ( FoldingSetNodeID ID,
ArrayRef< Record * >  Classes 
)
static

Definition at line 141 of file Record.cpp.

References llvm::ArrayRef< T >::size().

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

◆ ProfileTernOpInit()

static void ProfileTernOpInit ( FoldingSetNodeID ID,
unsigned  Opcode,
Init LHS,
Init MHS,
Init RHS,
RecTy Type 
)
static

Definition at line 1181 of file Record.cpp.

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

◆ ProfileUnOpInit()

static void ProfileUnOpInit ( FoldingSetNodeID ID,
unsigned  Opcode,
Init Op,
RecTy Type 
)
static

Definition at line 692 of file Record.cpp.

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

◆ ProfileVarDefInit()

static void ProfileVarDefInit ( FoldingSetNodeID ID,
Record Class,
ArrayRef< Init * >  Args 
)
static

Definition at line 1793 of file Record.cpp.

References llvm::AMDGPU::HSAMD::Kernel::Key::Args, and I.

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

◆ resolveRecordTypes()

static RecordRecTy* resolveRecordTypes ( RecordRecTy T1,
RecordRecTy T2 
)
static

Definition at line 233 of file Record.cpp.

References llvm::RecordRecTy::get(), llvm::RecordRecTy::isSubClassOf(), and T1.

Referenced by llvm::resolveTypes().

Variable Documentation

◆ Allocator

BumpPtrAllocator Allocator
static