LLVM 24.0.0git
Record.cpp File Reference
#include "llvm/TableGen/Record.h"
#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/StringExtras.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.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/MathExtras.h"
#include "llvm/Support/Regex.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TableGen/Error.h"
#include "llvm/TableGen/TGTimer.h"
#include <cassert>
#include <cstdint>
#include <map>
#include <memory>
#include <string>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  detail::RecordKeeperImpl
 This class represents the internal implementation of the RecordKeeper. More...

Macros

#define DEBUG_TYPE   "tblgen-records"

Functions

static const RecordRecTyresolveRecordTypes (const RecordRecTy *T1, const RecordRecTy *T2)
static bool canFitInBitfield (int64_t Value, unsigned NumBits)
static const StringInitConcatStringInits (const StringInit *I0, const StringInit *I1)
static const StringInitinterleaveStringList (const ListInit *List, const StringInit *Delim)
static const StringInitinterleaveIntList (const ListInit *List, const StringInit *Delim)
static const ListInitConcatListInits (const ListInit *LHS, const ListInit *RHS)
static std::optional< unsignedgetDagArgNoByKey (const DagInit *Dag, const Init *Key, std::string &Error)
static const InitItemApply (const Init *LHS, const Init *MHSe, const Init *RHS, const Record *CurRec)
static const InitForeachDagApply (const Init *LHS, const DagInit *MHSd, const Init *RHS, const Record *CurRec)
static const InitForeachHelper (const Init *LHS, const Init *MHS, const Init *RHS, const RecTy *Type, const Record *CurRec)
static const InitFilterHelper (const Init *LHS, const Init *MHS, const Init *RHS, const RecTy *Type, const Record *CurRec)
static const InitSortHelper (const Init *LHS, const Init *MHS, const Init *RHS, const RecTy *Type, const Record *CurRec)

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "tblgen-records"

Definition at line 43 of file Record.cpp.

Function Documentation

◆ canFitInBitfield()

bool canFitInBitfield ( int64_t Value,
unsigned NumBits )
static

Definition at line 564 of file Record.cpp.

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

◆ ConcatListInits()

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

Definition at line 1080 of file Record.cpp.

References llvm::append_range(), llvm::ListInit::get(), LHS, and RHS.

Referenced by llvm::BinOpInit::getListConcat().

◆ ConcatStringInits()

◆ FilterHelper()

◆ ForeachDagApply()

◆ ForeachHelper()

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

◆ getDagArgNoByKey()

std::optional< unsigned > getDagArgNoByKey ( const DagInit * Dag,
const Init * Key,
std::string & Error )
static

◆ interleaveIntList()

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

◆ interleaveStringList()

◆ ItemApply()

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

Definition at line 1598 of file Record.cpp.

References LHS, and RHS.

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

◆ resolveRecordTypes()

◆ SortHelper()