LLVM 20.0.0git
Classes | Namespaces | Typedefs | Functions
Record.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/Timer.h"
#include "llvm/Support/TrailingObjects.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <variant>
#include <vector>

Go to the source code of this file.

Classes

class  llvm::RecTy
 
class  llvm::BitRecTy
 'bit' - Represent a single bit More...
 
class  llvm::BitsRecTy
 'bits<n>' - Represent a fixed number of bits More...
 
class  llvm::IntRecTy
 'int' - Represent an integer value of no particular size More...
 
class  llvm::StringRecTy
 'string' - Represent an string value More...
 
class  llvm::ListRecTy
 'list<Ty>' - Represent a list of element values, all of which must be of the specified type. More...
 
class  llvm::DagRecTy
 'dag' - Represent a dag fragment More...
 
class  llvm::RecordRecTy
 '[classname]' - Type of record values that have zero or more superclasses. More...
 
class  llvm::Init
 
class  llvm::TypedInit
 This is the common superclass of types that have a specific, explicit type, stored in ValueTy. More...
 
class  llvm::UnsetInit
 '?' - Represents an uninitialized value. More...
 
class  llvm::ArgumentInit
 
class  llvm::BitInit
 'true'/'false' - Represent a concrete initializer for a bit. More...
 
class  llvm::BitsInit
 '{ a, b, c }' - Represents an initializer for a BitsRecTy value. More...
 
class  llvm::IntInit
 '7' - Represent an initialization by a literal integer value. More...
 
class  llvm::AnonymousNameInit
 "anonymous_n" - Represent an anonymous record name More...
 
class  llvm::StringInit
 "foo" - Represent an initialization by a string value. More...
 
class  llvm::ListInit
 [AL, AH, CL] - Represent a list of defs More...
 
class  llvm::OpInit
 Base class for operators. More...
 
class  llvm::UnOpInit
 !op (X) - Transform an init. More...
 
class  llvm::BinOpInit
 !op (X, Y) - Combine two inits. More...
 
class  llvm::TernOpInit
 !op (X, Y, Z) - Combine two inits. More...
 
class  llvm::CondOpInit
 !cond(condition_1: value1, ... , condition_n: value) Selects the first value for which condition is true. More...
 
class  llvm::FoldOpInit
 !foldl (a, b, expr, start, lst) - Fold over a list. More...
 
class  llvm::IsAOpInit
 !isa<type>(expr) - Dynamically determine the type of an expression. More...
 
class  llvm::ExistsOpInit
 !exists<type>(expr) - Dynamically determine if a record of type named expr exists. More...
 
class  llvm::VarInit
 'Opcode' - Represent a reference to an entire variable object. More...
 
class  llvm::VarBitInit
 Opcode{0} - Represent access to one bit of a variable or field. More...
 
class  llvm::DefInit
 AL - Represent a reference to a 'def' in the description. More...
 
class  llvm::VarDefInit
 classname<targs...> - Represent an uninstantiated anonymous class instantiation. More...
 
class  llvm::FieldInit
 X.Y - Represent a reference to a subfield of a variable. More...
 
class  llvm::DagInit
 (v a, b) - Represent a DAG tree value. More...
 
class  llvm::RecordVal
 This class represents a field in a record, including its name, type, value, and source location. More...
 
class  llvm::Record
 
struct  llvm::Record::AssertionInfo
 
struct  llvm::Record::DumpInfo
 
class  llvm::RecordKeeper
 
struct  llvm::LessRecord
 Sorting predicate to sort record pointers by name. More...
 
struct  llvm::LessRecordByID
 Sorting predicate to sort record pointers by their unique ID. More...
 
struct  llvm::LessRecordFieldName
 Sorting predicate to sort record pointers by their Name field. More...
 
struct  llvm::LessRecordRegister
 
struct  llvm::LessRecordRegister::RecordParts
 
class  llvm::Resolver
 Interface for looking up the initializer for a variable name, used by Init::resolveReferences. More...
 
class  llvm::MapResolver
 Resolve arbitrary mappings. More...
 
class  llvm::RecordResolver
 Resolve all variables from a record except for unset variables. More...
 
class  llvm::ShadowResolver
 Delegate resolving to a sub-resolver, but shadow some variable names. More...
 
class  llvm::TrackUnresolvedResolver
 (Optionally) delegate resolving to a sub-resolver, and keep track whether there were unresolved references. More...
 
class  llvm::HasReferenceResolver
 Do not resolve anything, but keep track of whether a given variable was referenced. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::detail
 These are wrappers over isa* function that allow them to be used in generic algorithms such as llvm:all_of, llvm::none_of, etc.
 

Typedefs

using llvm::ArgAuxType = std::variant< unsigned, Init * >
 

Functions

raw_ostream & llvm::operator<< (raw_ostream &OS, const RecTy &Ty)
 
RecTyllvm::resolveTypes (RecTy *T1, RecTy *T2)
 Find a common type that T1 and T2 convert to.
 
raw_ostream & llvm::operator<< (raw_ostream &OS, const Init &I)
 
raw_ostream & llvm::operator<< (raw_ostream &OS, const RecordVal &RV)
 
raw_ostreamllvm::operator<< (raw_ostream &OS, const Record &R)
 
raw_ostreamllvm::operator<< (raw_ostream &OS, const RecordKeeper &RK)
 
void llvm::EmitDetailedRecords (RecordKeeper &RK, raw_ostream &OS)
 
void llvm::EmitJSON (RecordKeeper &RK, raw_ostream &OS)