LLVM  13.0.0git
Namespaces | Macros | Functions | Variables
LLParser.cpp File Reference
#include "llvm/AsmParser/LLParser.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/AsmParser/LLToken.h"
#include "llvm/AsmParser/SlotMapping.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/AutoUpgrade.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/Comdat.h"
#include "llvm/IR/ConstantRange.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalIFunc.h"
#include "llvm/IR/GlobalObject.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Value.h"
#include "llvm/IR/ValueSymbolTable.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/SaveAndRestore.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstring>
#include <iterator>
#include <vector>
#include "llvm/IR/Metadata.def"
Include dependency graph for LLParser.cpp:

Go to the source code of this file.

Namespaces

 llvm
 

Macros

#define HANDLE_SPECIALIZED_MDNODE_LEAF(CLASS)
 
#define DECLARE_FIELD(NAME, TYPE, INIT)   TYPE NAME INIT
 
#define NOP_FIELD(NAME, TYPE, INIT)
 
#define REQUIRE_FIELD(NAME, TYPE, INIT)
 
#define PARSE_MD_FIELD(NAME, TYPE, DEFAULT)
 
#define PARSE_MD_FIELDS()
 
#define GET_OR_DISTINCT(CLASS, ARGS)   (IsDistinct ? CLASS::getDistinct ARGS : CLASS::get ARGS)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
 

Functions

static std::string getTypeString (Type *T)
 
static bool isValidVisibilityForLinkage (unsigned V, unsigned L)
 
static void maybeSetDSOLocal (bool DSOLocal, GlobalValue &GV)
 
static std::string typeComparisonErrorMessage (StringRef Message, Type *Ty1, Type *Ty2)
 
static GlobalValuecreateGlobalFwdRef (Module *M, PointerType *PTy, const std::string &Name)
 
static unsigned parseOptionalLinkageAux (lltok::Kind Kind, bool &HasLinkage)
 
static void resolveFwdRef (ValueInfo *Fwd, ValueInfo &Resolved)
 

Variables

static ValueInfo EmptyVI
 
static const auto FwdVIRef = (GlobalValueSummaryMapTy::value_type *)-8
 

Macro Definition Documentation

◆ DECLARE_FIELD

#define DECLARE_FIELD (   NAME,
  TYPE,
  INIT 
)    TYPE NAME INIT

Definition at line 4684 of file LLParser.cpp.

◆ GET_OR_DISTINCT

#define GET_OR_DISTINCT (   CLASS,
  ARGS 
)    (IsDistinct ? CLASS::getDistinct ARGS : CLASS::get ARGS)

Definition at line 4706 of file LLParser.cpp.

◆ HANDLE_SPECIALIZED_MDNODE_LEAF

#define HANDLE_SPECIALIZED_MDNODE_LEAF (   CLASS)
Value:
if (Lex.getStrVal() == #CLASS) \
return parse##CLASS(N, IsDistinct);

◆ NOP_FIELD

#define NOP_FIELD (   NAME,
  TYPE,
  INIT 
)

Definition at line 4685 of file LLParser.cpp.

◆ PARSE_MD_FIELD

#define PARSE_MD_FIELD (   NAME,
  TYPE,
  DEFAULT 
)
Value:
if (Lex.getStrVal() == #NAME) \
return parseMDField(#NAME, NAME);

Definition at line 4689 of file LLParser.cpp.

◆ PARSE_MD_FIELDS

#define PARSE_MD_FIELDS ( )
Value:
do { \
LocTy ClosingLoc; \
if (parseMDFieldsImpl( \
[&]() -> bool { \
VISIT_MD_FIELDS(PARSE_MD_FIELD, PARSE_MD_FIELD) \
return tokError(Twine("invalid field '") + Lex.getStrVal() + \
"'"); \
}, \
ClosingLoc)) \
return true; \
VISIT_MD_FIELDS(NOP_FIELD, REQUIRE_FIELD) \
} while (false)

Definition at line 4692 of file LLParser.cpp.

◆ REQUIRE_FIELD

#define REQUIRE_FIELD (   NAME,
  TYPE,
  INIT 
)
Value:
if (!NAME.Seen) \
return error(ClosingLoc, "missing required field '" #NAME "'");

Definition at line 4686 of file LLParser.cpp.

◆ VISIT_MD_FIELDS [1/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(line, LineField, ); \
OPTIONAL(column, ColumnField, ); \
REQUIRED(scope, MDField, (/* AllowNull */ false)); \
OPTIONAL(inlinedAt, MDField, ); \
OPTIONAL(isImplicitCode, MDBoolField, (false));

◆ VISIT_MD_FIELDS [2/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(tag, DwarfTagField, ); \
OPTIONAL(header, MDStringField, ); \
OPTIONAL(operands, MDFieldList, );

◆ VISIT_MD_FIELDS [3/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(count, MDSignedOrMDField, (-1, -1, INT64_MAX, false)); \
OPTIONAL(lowerBound, MDSignedOrMDField, ); \
OPTIONAL(upperBound, MDSignedOrMDField, ); \
OPTIONAL(stride, MDSignedOrMDField, );

◆ VISIT_MD_FIELDS [4/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(count, MDSignedOrMDField, ); \
OPTIONAL(lowerBound, MDSignedOrMDField, ); \
OPTIONAL(upperBound, MDSignedOrMDField, ); \
OPTIONAL(stride, MDSignedOrMDField, );

◆ VISIT_MD_FIELDS [5/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(name, MDStringField, ); \
REQUIRED(value, MDAPSIntField, ); \
OPTIONAL(isUnsigned, MDBoolField, (false));

◆ VISIT_MD_FIELDS [6/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(tag, DwarfTagField, (dwarf::DW_TAG_base_type)); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(size, MDUnsignedField, (0, UINT64_MAX)); \
OPTIONAL(align, MDUnsignedField, (0, UINT32_MAX)); \
OPTIONAL(encoding, DwarfAttEncodingField, ); \
OPTIONAL(flags, DIFlagField, );

◆ VISIT_MD_FIELDS [7/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(tag, DwarfTagField, (dwarf::DW_TAG_string_type)); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(stringLength, MDField, ); \
OPTIONAL(stringLengthExpression, MDField, ); \
OPTIONAL(size, MDUnsignedField, (0, UINT64_MAX)); \
OPTIONAL(align, MDUnsignedField, (0, UINT32_MAX)); \
OPTIONAL(encoding, DwarfAttEncodingField, );

◆ VISIT_MD_FIELDS [8/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(tag, DwarfTagField, ); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
OPTIONAL(scope, MDField, ); \
REQUIRED(baseType, MDField, ); \
OPTIONAL(size, MDUnsignedField, (0, UINT64_MAX)); \
OPTIONAL(align, MDUnsignedField, (0, UINT32_MAX)); \
OPTIONAL(offset, MDUnsignedField, (0, UINT64_MAX)); \
OPTIONAL(flags, DIFlagField, ); \
OPTIONAL(extraData, MDField, ); \
OPTIONAL(dwarfAddressSpace, MDUnsignedField, (UINT32_MAX, UINT32_MAX));

◆ VISIT_MD_FIELDS [9/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(tag, DwarfTagField, ); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
OPTIONAL(scope, MDField, ); \
OPTIONAL(baseType, MDField, ); \
OPTIONAL(size, MDUnsignedField, (0, UINT64_MAX)); \
OPTIONAL(align, MDUnsignedField, (0, UINT32_MAX)); \
OPTIONAL(offset, MDUnsignedField, (0, UINT64_MAX)); \
OPTIONAL(flags, DIFlagField, ); \
OPTIONAL(elements, MDField, ); \
OPTIONAL(runtimeLang, DwarfLangField, ); \
OPTIONAL(vtableHolder, MDField, ); \
OPTIONAL(templateParams, MDField, ); \
OPTIONAL(identifier, MDStringField, ); \
OPTIONAL(discriminator, MDField, ); \
OPTIONAL(dataLocation, MDField, ); \
OPTIONAL(associated, MDField, ); \
OPTIONAL(allocated, MDField, ); \
OPTIONAL(rank, MDSignedOrMDField, );

◆ VISIT_MD_FIELDS [10/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(flags, DIFlagField, ); \
OPTIONAL(cc, DwarfCCField, ); \
REQUIRED(types, MDField, );

◆ VISIT_MD_FIELDS [11/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(filename, MDStringField, ); \
REQUIRED(directory, MDStringField, ); \
OPTIONAL(checksumkind, ChecksumKindField, (DIFile::CSK_MD5)); \
OPTIONAL(checksum, MDStringField, ); \
OPTIONAL(source, MDStringField, );

◆ VISIT_MD_FIELDS [12/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(language, DwarfLangField, ); \
REQUIRED(file, MDField, (/* AllowNull */ false)); \
OPTIONAL(producer, MDStringField, ); \
OPTIONAL(isOptimized, MDBoolField, ); \
OPTIONAL(flags, MDStringField, ); \
OPTIONAL(runtimeVersion, MDUnsignedField, (0, UINT32_MAX)); \
OPTIONAL(splitDebugFilename, MDStringField, ); \
OPTIONAL(emissionKind, EmissionKindField, ); \
OPTIONAL(enums, MDField, ); \
OPTIONAL(retainedTypes, MDField, ); \
OPTIONAL(globals, MDField, ); \
OPTIONAL(imports, MDField, ); \
OPTIONAL(macros, MDField, ); \
OPTIONAL(dwoId, MDUnsignedField, ); \
OPTIONAL(splitDebugInlining, MDBoolField, = true); \
OPTIONAL(debugInfoForProfiling, MDBoolField, = false); \
OPTIONAL(nameTableKind, NameTableKindField, ); \
OPTIONAL(rangesBaseAddress, MDBoolField, = false); \
OPTIONAL(sysroot, MDStringField, ); \
OPTIONAL(sdk, MDStringField, );

◆ VISIT_MD_FIELDS [13/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(scope, MDField, ); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(linkageName, MDStringField, ); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
OPTIONAL(type, MDField, ); \
OPTIONAL(isLocal, MDBoolField, ); \
OPTIONAL(isDefinition, MDBoolField, (true)); \
OPTIONAL(scopeLine, LineField, ); \
OPTIONAL(containingType, MDField, ); \
OPTIONAL(virtuality, DwarfVirtualityField, ); \
OPTIONAL(virtualIndex, MDUnsignedField, (0, UINT32_MAX)); \
OPTIONAL(thisAdjustment, MDSignedField, (0, INT32_MIN, INT32_MAX)); \
OPTIONAL(flags, DIFlagField, ); \
OPTIONAL(spFlags, DISPFlagField, ); \
OPTIONAL(isOptimized, MDBoolField, ); \
OPTIONAL(unit, MDField, ); \
OPTIONAL(templateParams, MDField, ); \
OPTIONAL(declaration, MDField, ); \
OPTIONAL(retainedNodes, MDField, ); \
OPTIONAL(thrownTypes, MDField, );

◆ VISIT_MD_FIELDS [14/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(scope, MDField, (/* AllowNull */ false)); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
OPTIONAL(column, ColumnField, );

◆ VISIT_MD_FIELDS [15/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(scope, MDField, (/* AllowNull */ false)); \
OPTIONAL(file, MDField, ); \
REQUIRED(discriminator, MDUnsignedField, (0, UINT32_MAX));

◆ VISIT_MD_FIELDS [16/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(scope, MDField, ); \
OPTIONAL(declaration, MDField, ); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, );

◆ VISIT_MD_FIELDS [17/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(scope, MDField, ); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(exportSymbols, MDBoolField, );

◆ VISIT_MD_FIELDS [18/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(type, DwarfMacinfoTypeField, ); \
OPTIONAL(line, LineField, ); \
REQUIRED(name, MDStringField, ); \
OPTIONAL(value, MDStringField, );

◆ VISIT_MD_FIELDS [19/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(type, DwarfMacinfoTypeField, (dwarf::DW_MACINFO_start_file)); \
OPTIONAL(line, LineField, ); \
REQUIRED(file, MDField, ); \
OPTIONAL(nodes, MDField, );

◆ VISIT_MD_FIELDS [20/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(scope, MDField, ); \
REQUIRED(name, MDStringField, ); \
OPTIONAL(configMacros, MDStringField, ); \
OPTIONAL(includePath, MDStringField, ); \
OPTIONAL(apinotes, MDStringField, ); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
OPTIONAL(isDecl, MDBoolField, );

◆ VISIT_MD_FIELDS [21/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(name, MDStringField, ); \
REQUIRED(type, MDField, ); \
OPTIONAL(defaulted, MDBoolField, );

◆ VISIT_MD_FIELDS [22/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(tag, DwarfTagField, (dwarf::DW_TAG_template_value_parameter)); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(type, MDField, ); \
OPTIONAL(defaulted, MDBoolField, ); \
REQUIRED(value, MDField, );

◆ VISIT_MD_FIELDS [23/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(name, MDStringField, (/* AllowEmpty */ false)); \
OPTIONAL(scope, MDField, ); \
OPTIONAL(linkageName, MDStringField, ); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
OPTIONAL(type, MDField, ); \
OPTIONAL(isLocal, MDBoolField, ); \
OPTIONAL(isDefinition, MDBoolField, (true)); \
OPTIONAL(templateParams, MDField, ); \
OPTIONAL(declaration, MDField, ); \
OPTIONAL(align, MDUnsignedField, (0, UINT32_MAX));

◆ VISIT_MD_FIELDS [24/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(scope, MDField, (/* AllowNull */ false)); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(arg, MDUnsignedField, (0, UINT16_MAX)); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
OPTIONAL(type, MDField, ); \
OPTIONAL(flags, DIFlagField, ); \
OPTIONAL(align, MDUnsignedField, (0, UINT32_MAX));

◆ VISIT_MD_FIELDS [25/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(scope, MDField, (/* AllowNull */ false)); \
REQUIRED(name, MDStringField, ); \
REQUIRED(file, MDField, ); \
REQUIRED(line, LineField, );

◆ VISIT_MD_FIELDS [26/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(var, MDField, ); \
REQUIRED(expr, MDField, );

◆ VISIT_MD_FIELDS [27/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(name, MDStringField, ); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
OPTIONAL(setter, MDStringField, ); \
OPTIONAL(getter, MDStringField, ); \
OPTIONAL(attributes, MDUnsignedField, (0, UINT32_MAX)); \
OPTIONAL(type, MDField, );

◆ VISIT_MD_FIELDS [28/28]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(tag, DwarfTagField, ); \
REQUIRED(scope, MDField, ); \
OPTIONAL(entity, MDField, ); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
OPTIONAL(name, MDStringField, );

Function Documentation

◆ createGlobalFwdRef()

static GlobalValue* createGlobalFwdRef ( Module M,
PointerType PTy,
const std::string &  Name 
)
inlinestatic

◆ getTypeString()

static std::string getTypeString ( Type T)
static

Definition at line 55 of file LLParser.cpp.

References llvm::raw_string_ostream::str(), and T.

◆ isValidVisibilityForLinkage()

static bool isValidVisibilityForLinkage ( unsigned  V,
unsigned  L 
)
static

◆ maybeSetDSOLocal()

static void maybeSetDSOLocal ( bool  DSOLocal,
GlobalValue GV 
)
static

Definition at line 930 of file LLParser.cpp.

References llvm::GlobalValue::setDSOLocal().

◆ parseOptionalLinkageAux()

static unsigned parseOptionalLinkageAux ( lltok::Kind  Kind,
bool &  HasLinkage 
)
static

◆ resolveFwdRef()

static void resolveFwdRef ( ValueInfo Fwd,
ValueInfo Resolved 
)
static

◆ typeComparisonErrorMessage()

static std::string typeComparisonErrorMessage ( StringRef  Message,
Type Ty1,
Type Ty2 
)
static

Definition at line 935 of file LLParser.cpp.

References llvm::raw_string_ostream::str().

Variable Documentation

◆ EmptyVI

ValueInfo EmptyVI
static
Initial value:
=
ValueInfo(false, (GlobalValueSummaryMapTy::value_type *)-8)

Definition at line 8104 of file LLParser.cpp.

◆ FwdVIRef

const auto FwdVIRef = (GlobalValueSummaryMapTy::value_type *)-8
static

Definition at line 8461 of file LLParser.cpp.

DECLARE_FIELD
#define DECLARE_FIELD(NAME, TYPE, INIT)
Definition: LLParser.cpp:4684
type
test::unit
unit
Definition: README.txt:46
NOP_FIELD
#define NOP_FIELD(NAME, TYPE, INIT)
Definition: LLParser.cpp:4685
error
#define error(X)
Definition: SymbolRecordMapping.cpp:14
attributes
Deduce and propagate attributes
Definition: Attributor.cpp:2656
REQUIRE_FIELD
#define REQUIRE_FIELD(NAME, TYPE, INIT)
Definition: LLParser.cpp:4686
UINT64_MAX
#define UINT64_MAX
Definition: DataTypes.h:77
parse
Definition: regcomp.c:192
llvm::DepClassTy::OPTIONAL
@ OPTIONAL
The target may be valid if the source is not.
INT64_MAX
#define INT64_MAX
Definition: DataTypes.h:71
llvm::ValueInfo
Struct that holds a reference to a particular GUID in a global value summary.
Definition: ModuleSummaryIndex.h:166
llvm::rank
Utility type to build an inheritance chain that makes it easy to rank overload candidates.
Definition: STLExtras.h:1289
file
dot regions Print regions of function to dot file(with no function bodies)"
nodes
Unify divergent function exit nodes
Definition: AMDGPUUnifyDivergentExitNodes.cpp:87
llvm::count
auto count(R &&Range, const E &Element)
Wrapper function around std::count to count the number of times an element Element occurs in the give...
Definition: STLExtras.h:1565
llvm::DepClassTy::REQUIRED
@ REQUIRED
The target cannot be valid if the source is not.
size
i< reg-> size
Definition: README.txt:166
VISIT_MD_FIELDS
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
elements
This compiles xmm1 mulss xmm1 xorps xmm0 movss xmm0 ret Because mulss doesn t modify the top elements
Definition: README-SSE.txt:221
name
static const char * name
Definition: SVEIntrinsicOpts.cpp:84
llvm::Twine
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
Definition: Twine.h:80
llvm::dwarf::DW_MACINFO_start_file
@ DW_MACINFO_start_file
Definition: Dwarf.h:383
globals
name anon globals
Definition: NameAnonGlobals.cpp:113
align
mov r0 ldr L5 sub r0 lr needed for prologue ldmia ip add bx lr r2 The last stmia stores r2 into the address passed in there is one additional stmia that stores and r2 to some stack location The store is dead The llvm gcc generated code looks like align
Definition: README.txt:236
llvm::sys::path::filename
StringRef filename(StringRef path, Style style=Style::native)
Get filename.
Definition: Path.cpp:575
N
#define N
PARSE_MD_FIELD
#define PARSE_MD_FIELD(NAME, TYPE, DEFAULT)
Definition: LLParser.cpp:4689