LLVM  6.0.0svn
Macros | Functions | Variables
LLParser.cpp File Reference
#include "LLParser.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.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/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/Instruction.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/Operator.h"
#include "llvm/IR/Type.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.

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)
 

Functions

static std::string getTypeString (Type *T)
 
static bool isValidVisibilityForLinkage (unsigned V, unsigned L)
 
static GlobalValuecreateGlobalFwdRef (Module *M, PointerType *PTy, const std::string &Name)
 
if (!EatIfPresent(lltok::kw_thread_local)) return false
 ParseOptionalThreadLocal := /*empty. More...
 
 if (Lex.getKind()==lltok::lparen)
 
if (!EatIfPresent(lltok::kw_addrspace)) return false
 ParseOptionalAddrSpace := /*empty. More...
 
static unsigned parseOptionalLinkageAux (lltok::Kind Kind, bool &HasLinkage)
 
 F (f)
 
 FunctionNumber (functionNumber)
 

Variables

 TLM = GlobalVariable::GeneralDynamicTLSModel
 
return false
 

Macro Definition Documentation

◆ DECLARE_FIELD

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

◆ GET_OR_DISTINCT

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

Referenced by FunctionNumber().

◆ HANDLE_SPECIALIZED_MDNODE_LEAF

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

◆ NOP_FIELD

#define NOP_FIELD (   NAME,
  TYPE,
  INIT 
)

◆ PARSE_MD_FIELD

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

◆ 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)
#define DECLARE_FIELD(NAME, TYPE, INIT)
#define REQUIRE_FIELD(NAME, TYPE, INIT)
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
Definition: Twine.h:81
#define NOP_FIELD(NAME, TYPE, INIT)
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)
#define PARSE_MD_FIELD(NAME, TYPE, DEFAULT)

Referenced by FunctionNumber().

◆ REQUIRE_FIELD

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

◆ VISIT_MD_FIELDS [1/24]

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

◆ VISIT_MD_FIELDS [2/24]

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

◆ VISIT_MD_FIELDS [3/24]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(count, MDSignedField, (-1, -1, INT64_MAX)); \
OPTIONAL(lowerBound, MDSignedField, );
auto count(R &&Range, const E &Element) -> typename std::iterator_traits< decltype(std::begin(Range))>::difference_type
Wrapper function around std::count to count the number of times an element Element occurs in the give...
Definition: STLExtras.h:880

◆ VISIT_MD_FIELDS [4/24]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(name, MDStringField, ); \
REQUIRED(value, MDSignedField, );
static const char * name

◆ VISIT_MD_FIELDS [5/24]

#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, );
static const char * name

◆ VISIT_MD_FIELDS [6/24]

#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));
dot regions Print regions of function to dot file(with no function bodies)"
static const char * name

◆ VISIT_MD_FIELDS [7/24]

#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, );
dot regions Print regions of function to dot file(with no function bodies)"
static const char * name

◆ VISIT_MD_FIELDS [8/24]

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

◆ VISIT_MD_FIELDS [9/24]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(filename, MDStringField, ); \
REQUIRED(directory, MDStringField, ); \
OPTIONAL(checksumkind, ChecksumKindField, ); \
OPTIONAL(checksum, MDStringField, );
StringRef filename(StringRef path, Style style=Style::native)
Get filename.
Definition: Path.cpp:575

◆ VISIT_MD_FIELDS [10/24]

#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);
dot regions Print regions of function to dot file(with no function bodies)"
name anon globals

◆ VISIT_MD_FIELDS [11/24]

#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(isOptimized, MDBoolField, ); \
OPTIONAL(unit, MDField, ); \
OPTIONAL(templateParams, MDField, ); \
OPTIONAL(declaration, MDField, ); \
OPTIONAL(variables, MDField, ); \
OPTIONAL(thrownTypes, MDField, );
dot regions Print regions of function to dot file(with no function bodies)"
static const char * name

◆ VISIT_MD_FIELDS [12/24]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(scope, MDField, (/* AllowNull */ false)); \
OPTIONAL(file, MDField, ); \
OPTIONAL(line, LineField, ); \
OPTIONAL(column, ColumnField, );
dot regions Print regions of function to dot file(with no function bodies)"

◆ VISIT_MD_FIELDS [13/24]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(scope, MDField, (/* AllowNull */ false)); \
OPTIONAL(file, MDField, ); \
REQUIRED(discriminator, MDUnsignedField, (0, UINT32_MAX));
dot regions Print regions of function to dot file(with no function bodies)"

◆ VISIT_MD_FIELDS [14/24]

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

◆ VISIT_MD_FIELDS [15/24]

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

◆ VISIT_MD_FIELDS [16/24]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(type, DwarfMacinfoTypeField, (dwarf::DW_MACINFO_start_file)); \
OPTIONAL(line, LineField, ); \
REQUIRED(file, MDField, ); \
OPTIONAL(nodes, MDField, );
Unify divergent function exit nodes
dot regions Print regions of function to dot file(with no function bodies)"

◆ VISIT_MD_FIELDS [17/24]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
REQUIRED(scope, MDField, ); \
REQUIRED(name, MDStringField, ); \
OPTIONAL(configMacros, MDStringField, ); \
OPTIONAL(includePath, MDStringField, ); \
OPTIONAL(isysroot, MDStringField, );
static const char * name

◆ VISIT_MD_FIELDS [18/24]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(name, MDStringField, ); \
REQUIRED(type, MDField, );
static const char * name

◆ VISIT_MD_FIELDS [19/24]

#define VISIT_MD_FIELDS (   OPTIONAL,
  REQUIRED 
)
Value:
OPTIONAL(tag, DwarfTagField, (dwarf::DW_TAG_template_value_parameter)); \
OPTIONAL(name, MDStringField, ); \
OPTIONAL(type, MDField, ); \
REQUIRED(value, MDField, );
static const char * name

◆ VISIT_MD_FIELDS [20/24]

#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(declaration, MDField, ); \
OPTIONAL(align, MDUnsignedField, (0, UINT32_MAX));
dot regions Print regions of function to dot file(with no function bodies)"
static const char * name

◆ VISIT_MD_FIELDS [21/24]

#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));
dot regions Print regions of function to dot file(with no function bodies)"
static const char * name

◆ VISIT_MD_FIELDS [22/24]

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

◆ VISIT_MD_FIELDS [23/24]

#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, );
dot regions Print regions of function to dot file(with no function bodies)"
Deduce function attributes
static const char * name

◆ VISIT_MD_FIELDS [24/24]

#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, );
dot regions Print regions of function to dot file(with no function bodies)"
static const char * name

Function Documentation

◆ createGlobalFwdRef()

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

◆ F()

F ( )

◆ FunctionNumber()

FunctionNumber ( functionNumber  )

Definition at line 2511 of file LLParser.cpp.

References A, llvm::Acquire, llvm::AcquireRelease, llvm::MCID::Add, llvm::AtomicRMWInst::Add, llvm::SwitchInst::addCase(), llvm::IndirectBrInst::addDestination(), llvm::CatchSwitchInst::addHandler(), llvm::PHINode::addIncoming(), llvm::dwarf::syntax::Address, llvm::AtomicRMWInst::And, llvm::FastMathFlags::any(), llvm::lltok::APFloat, llvm::ValID::APFloatVal, llvm::GlobalValue::AppendingLinkage, llvm::lltok::APSInt, llvm::ValID::APSIntVal, llvm::SelectInst::areInvalidOperands(), llvm::Function::arg_begin(), llvm::AMDGPU::CodeObject::Kernel::Key::Args, llvm::Function::args(), AS, assert(), attributes, llvm::AMDGPU::CodeObject::Kernel::Key::Attrs, llvm::GlobalValue::AvailableExternallyLinkage, llvm::lltok::bar, llvm::SmallVectorTemplateCommon< T >::begin(), llvm::DICompositeType::buildODRType(), C, llvm::CastInst::castIsValid(), llvm::LandingPadInst::Catch, llvm::lltok::ChecksumKind, llvm::lltok::ComdatVar, llvm::lltok::comma, llvm::GlobalValue::CommonLinkage, llvm::ValID::ConstantStructElts, llvm::ValID::ConstantVal, llvm::AttrBuilder::contains(), Context, llvm::APFloat::convert(), llvm::count(), llvm::BasicBlock::Create(), llvm::Function::Create(), llvm::BinaryOperator::Create(), llvm::CastInst::Create(), llvm::GetElementPtrInst::Create(), llvm::CallInst::Create(), llvm::SelectInst::Create(), llvm::ExtractElementInst::Create(), llvm::InsertElementInst::Create(), llvm::ExtractValueInst::Create(), llvm::InsertValueInst::Create(), llvm::PHINode::Create(), llvm::LandingPadInst::Create(), llvm::ReturnInst::Create(), llvm::BranchInst::Create(), llvm::SwitchInst::Create(), llvm::IndirectBrInst::Create(), llvm::InvokeInst::Create(), llvm::ResumeInst::Create(), llvm::CatchSwitchInst::Create(), llvm::CleanupPadInst::Create(), llvm::CatchPadInst::Create(), llvm::CatchReturnInst::Create(), llvm::CleanupReturnInst::Create(), llvm::DIFile::CSK_None, llvm::SmallVectorTemplateCommon< T >::data(), llvm::Default, llvm::Value::deleteValue(), llvm::lltok::DIFlag, llvm::dwarf::DW_ATE_hi_user, llvm::dwarf::DW_CC_hi_user, llvm::dwarf::DW_LANG_hi_user, llvm::dwarf::DW_MACINFO_invalid, llvm::dwarf::DW_MACINFO_vendor_ext, llvm::dwarf::DW_TAG_hi_user, llvm::dwarf::DW_TAG_invalid, llvm::dwarf::DW_VIRTUALITY_invalid, llvm::dwarf::DW_VIRTUALITY_max, llvm::lltok::DwarfAttEncoding, llvm::lltok::DwarfCC, llvm::lltok::DwarfLang, llvm::lltok::DwarfMacinfo, llvm::lltok::DwarfOp, llvm::lltok::DwarfTag, llvm::lltok::DwarfVirtuality, llvm::dyn_cast(), E, llvm::lltok::EmissionKind, llvm::SmallVectorBase::empty(), llvm::StringRef::empty(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::lltok::Eof, llvm::lltok::equal, llvm::GlobalValue::eraseFromParent(), llvm::lltok::exclaim, llvm::GlobalValue::ExternalLinkage, llvm::GlobalValue::ExternalWeakLinkage, llvm::APSInt::extOrTrunc(), F(), llvm::CmpInst::FCMP_FALSE, llvm::CmpInst::FCMP_OEQ, llvm::CmpInst::FCMP_OGE, llvm::CmpInst::FCMP_OGT, llvm::CmpInst::FCMP_OLE, llvm::CmpInst::FCMP_OLT, llvm::CmpInst::FCMP_ONE, llvm::CmpInst::FCMP_ORD, llvm::CmpInst::FCMP_TRUE, llvm::CmpInst::FCMP_UEQ, llvm::CmpInst::FCMP_UGE, llvm::CmpInst::FCMP_UGT, llvm::CmpInst::FCMP_ULE, llvm::CmpInst::FCMP_ULT, llvm::CmpInst::FCMP_UNE, llvm::CmpInst::FCMP_UNO, file(), llvm::sys::path::filename(), llvm::LandingPadInst::Filter, Flags, llvm::ValID::FTy, llvm::InlineAsm::get(), llvm::ConstantInt::get(), llvm::FunctionType::get(), llvm::MetadataAsValue::get(), llvm::AttributeSet::get(), llvm::ConstantFP::get(), llvm::AttributeList::get(), llvm::ValueAsMetadata::get(), llvm::ArrayType::get(), llvm::ConstantArray::get(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), llvm::ConstantPointerNull::get(), llvm::MDString::get(), llvm::BlockAddress::get(), llvm::ConstantExpr::get(), llvm::MDTuple::get(), llvm::UndefValue::get(), GET_OR_DISTINCT, llvm::AttrBuilder::getAlignment(), llvm::DataLayout::getAllocaAddrSpace(), llvm::LLLexer::getAPFloatVal(), llvm::LLLexer::getAPSIntVal(), llvm::dwarf::getAttributeEncoding(), llvm::dwarf::getCallingConvention(), llvm::ConstantExpr::getCast(), llvm::DIFile::getChecksumKind(), llvm::MDNode::getDistinct(), llvm::MDTuple::getDistinct(), llvm::PointerType::getElementType(), llvm::DICompileUnit::getEmissionKind(), llvm::ConstantExpr::getExtractElement(), llvm::ConstantExpr::getExtractValue(), llvm::ConstantInt::getFalse(), llvm::ConstantExpr::getFCmp(), llvm::DINode::getFlag(), llvm::ConstantExpr::getGetElementPtr(), llvm::ConstantExpr::getICmp(), llvm::GetElementPtrInst::getIndexedType(), llvm::ExtractValueInst::getIndexedType(), llvm::ConstantExpr::getInsertElement(), llvm::ConstantExpr::getInsertValue(), llvm::BasicBlock::getInstList(), llvm::Type::getInt1Ty(), llvm::Type::getInt8Ty(), llvm::LLLexer::getKind(), llvm::Type::getLabelTy(), llvm::dwarf::getLanguage(), llvm::LLLexer::getLoc(), llvm::dwarf::getMacinfo(), llvm::Value::getName(), llvm::Module::getNamedValue(), llvm::Constant::getNullValue(), llvm::dwarf::getOperationEncoding(), llvm::Type::getPrimitiveSizeInBits(), llvm::Type::getScalarType(), llvm::ConstantExpr::getSelect(), llvm::APFloat::getSemantics(), llvm::ConstantExpr::getShuffleVector(), llvm::ConstantDataArray::getString(), llvm::LLLexer::getStrVal(), llvm::dwarf::getTag(), llvm::Type::getTokenTy(), llvm::ConstantInt::getTrue(), getType(), llvm::Value::getType(), llvm::GlobalValue::getType(), getTypeString(), llvm::LLLexer::getUIntVal(), llvm::PointerType::getUnqual(), llvm::Function::getValueSymbolTable(), llvm::Type::getVectorNumElements(), llvm::dwarf::getVirtuality(), llvm::lltok::GlobalID, globals, llvm::lltok::GlobalVar, llvm::lltok::greater, llvm::AttrBuilder::hasAlignmentAttr(), llvm::AttributeList::hasAttribute(), llvm::Value::hasName(), I, llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, llvm::CmpInst::ICMP_ULT, llvm::APFloatBase::IEEEdouble(), llvm::APFloatBase::IEEEhalf(), llvm::APFloatBase::IEEEsingle(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::GlobalValue::InternalLinkage, llvm::Type::isAggregateType(), llvm::Type::isArrayTy(), isAtomic(), llvm::GlobalValue::isDeclaration(), llvm::PossiblyExactOperator::IsExact, llvm::Type::isFirstClassType(), llvm::Type::isFloatingPointTy(), llvm::Type::isFloatTy(), llvm::Type::isFPOrFPVectorTy(), llvm::Type::isFunctionTy(), llvm::Type::isHalfTy(), llvm::Type::isIntegerTy(), llvm::Type::isIntOrIntVectorTy(), llvm::Type::isLabelTy(), llvm::Type::isMetadataTy(), llvm::Type::isPointerTy(), llvm::Type::isPtrOrPtrVectorTy(), llvm::Type::isSized(), llvm::isStrongerThan(), llvm::Type::isTokenTy(), llvm::PointerType::isValidElementType(), llvm::ExtractElementInst::isValidOperands(), llvm::InsertElementInst::isValidOperands(), llvm::ShuffleVectorInst::isValidOperands(), llvm::FunctionType::isValidReturnType(), isValidVisibilityForLinkage(), llvm::ConstantFP::isValueValidForType(), llvm::FunctionType::isVarArg(), llvm::Type::isVectorTy(), llvm::Type::isVoidTy(), isVolatile(), isWeak(), llvm::ValID::Kind, Kind, llvm::lltok::kw_add, llvm::lltok::kw_addrspace, llvm::lltok::kw_addrspacecast, llvm::lltok::kw_align, llvm::lltok::kw_alignstack, llvm::lltok::kw_alloca, llvm::lltok::kw_and, llvm::lltok::kw_ashr, llvm::lltok::kw_asm, llvm::lltok::kw_atomic, llvm::lltok::kw_atomicrmw, llvm::lltok::kw_bitcast, llvm::lltok::kw_blockaddress, llvm::lltok::kw_br, llvm::lltok::kw_c, llvm::lltok::kw_call, llvm::lltok::kw_caller, llvm::lltok::kw_catch, llvm::lltok::kw_catchpad, llvm::lltok::kw_catchret, llvm::lltok::kw_catchswitch, llvm::lltok::kw_cleanup, llvm::lltok::kw_cleanuppad, llvm::lltok::kw_cleanupret, llvm::lltok::kw_cmpxchg, llvm::lltok::kw_comdat, llvm::lltok::kw_eq, llvm::lltok::kw_exact, llvm::lltok::kw_extractelement, llvm::lltok::kw_extractvalue, llvm::lltok::kw_fadd, llvm::lltok::kw_false, llvm::lltok::kw_fcmp, llvm::lltok::kw_fdiv, llvm::lltok::kw_fence, llvm::lltok::kw_filter, llvm::lltok::kw_fmul, llvm::lltok::kw_fpext, llvm::lltok::kw_fptosi, llvm::lltok::kw_fptoui, llvm::lltok::kw_fptrunc, llvm::lltok::kw_frem, llvm::lltok::kw_from, llvm::lltok::kw_fsub, llvm::lltok::kw_gc, llvm::lltok::kw_getelementptr, llvm::lltok::kw_icmp, llvm::lltok::kw_inalloca, llvm::lltok::kw_inbounds, llvm::lltok::kw_indirectbr, llvm::lltok::kw_inrange, llvm::lltok::kw_insertelement, llvm::lltok::kw_insertvalue, llvm::lltok::kw_inteldialect, llvm::lltok::kw_inttoptr, llvm::lltok::kw_invoke, llvm::lltok::kw_landingpad, llvm::lltok::kw_load, llvm::lltok::kw_lshr, llvm::lltok::kw_max, llvm::lltok::kw_min, llvm::lltok::kw_mul, llvm::lltok::kw_musttail, llvm::lltok::kw_nand, llvm::lltok::kw_ne, llvm::lltok::kw_none, llvm::lltok::kw_notail, llvm::lltok::kw_nsw, llvm::lltok::kw_null, llvm::lltok::kw_nuw, llvm::lltok::kw_oeq, llvm::lltok::kw_oge, llvm::lltok::kw_ogt, llvm::lltok::kw_ole, llvm::lltok::kw_olt, llvm::lltok::kw_one, llvm::lltok::kw_or, llvm::lltok::kw_ord, llvm::lltok::kw_personality, llvm::lltok::kw_phi, llvm::lltok::kw_prefix, llvm::lltok::kw_prologue, llvm::lltok::kw_ptrtoint, llvm::lltok::kw_resume, llvm::lltok::kw_ret, llvm::lltok::kw_sdiv, llvm::lltok::kw_section, llvm::lltok::kw_select, llvm::lltok::kw_sext, llvm::lltok::kw_sge, llvm::lltok::kw_sgt, llvm::lltok::kw_shl, llvm::lltok::kw_shufflevector, llvm::lltok::kw_sideeffect, llvm::lltok::kw_sitofp, llvm::lltok::kw_sle, llvm::lltok::kw_slt, llvm::lltok::kw_srem, llvm::lltok::kw_store, llvm::lltok::kw_sub, llvm::lltok::kw_swifterror, llvm::lltok::kw_switch, llvm::lltok::kw_tail, llvm::lltok::kw_to, llvm::lltok::kw_true, llvm::lltok::kw_trunc, llvm::lltok::kw_udiv, llvm::lltok::kw_ueq, llvm::lltok::kw_uge, llvm::lltok::kw_ugt, llvm::lltok::kw_uitofp, llvm::lltok::kw_ule, llvm::lltok::kw_ult, llvm::lltok::kw_umax, llvm::lltok::kw_umin, llvm::lltok::kw_undef, llvm::lltok::kw_une, llvm::lltok::kw_uno, llvm::lltok::kw_unreachable, llvm::lltok::kw_unwind, llvm::lltok::kw_urem, llvm::lltok::kw_uselistorder, llvm::lltok::kw_uselistorder_bb, llvm::lltok::kw_va_arg, llvm::lltok::kw_volatile, llvm::lltok::kw_weak, llvm::lltok::kw_within, llvm::lltok::kw_xchg, llvm::lltok::kw_xor, llvm::lltok::kw_zeroinitializer, llvm::lltok::kw_zext, llvm::lltok::LabelStr, llvm::DICompileUnit::LastEmissionKind, llvm::lltok::lbrace, llvm::lltok::less, llvm::LLLexer::Lex(), llvm::GlobalValue::LinkOnceAnyLinkage, llvm::GlobalValue::LinkOnceODRLinkage, llvm_unreachable, llvm::ValID::Loc, llvm::lltok::LocalVar, llvm::lltok::LocalVarID, llvm::ValueSymbolTable::lookup(), llvm::DenseMapBase< SmallDenseMap< KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::lookup(), llvm::lltok::lparen, llvm::lltok::lsquare, llvm::makeArrayRef(), llvm::max(), llvm::AtomicRMWInst::Max, llvm::lltok::MetadataVar, fuzzer::Min(), llvm::AtomicRMWInst::Min, llvm::Monotonic, N, name, Name, llvm::AtomicRMWInst::Nand, llvm::nodes(), llvm::GlobalValue::None, llvm::OverflowingBinaryOperator::NoSignedWrap, llvm::NotAtomic, llvm::OverflowingBinaryOperator::NoUnsignedWrap, llvm::AtomicRMWInst::Or, P, llvm::FunctionType::param_begin(), llvm::FunctionType::param_end(), PARSE_MD_FIELDS, parseField(), llvm::cl::Prefix, llvm::GlobalValue::PrivateLinkage, Ptr, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::iplist_impl< IntrusiveListT, TraitsT >::push_back(), llvm::lltok::rbrace, llvm::Release, llvm::AttrBuilder::removeAttribute(), llvm::Value::replaceAllUsesWith(), llvm::APFloatBase::rmNearestTiesToEven, llvm::lltok::rparen, llvm::lltok::rsquare, llvm::ARMBuildAttrs::Section, llvm::MCID::Select, llvm::GlobalObject::setAlignment(), llvm::Function::setAttributes(), llvm::CallInst::setAttributes(), llvm::InvokeInst::setAttributes(), llvm::Function::setCallingConv(), llvm::CallInst::setCallingConv(), llvm::InvokeInst::setCallingConv(), llvm::GlobalObject::setComdat(), llvm::GlobalValue::setDLLStorageClass(), llvm::Instruction::setFastMathFlags(), llvm::Function::setGC(), llvm::GlobalValue::setLinkage(), llvm::Value::setName(), llvm::Function::setPersonalityFn(), llvm::Function::setPrefixData(), llvm::Function::setPrologueData(), llvm::GlobalObject::setSection(), llvm::AllocaInst::setSwiftError(), llvm::CallInst::setTailCallKind(), llvm::GlobalValue::setUnnamedAddr(), llvm::AllocaInst::setUsedWithInAlloca(), llvm::GlobalValue::setVisibility(), llvm::AtomicCmpXchgInst::setVolatile(), llvm::AtomicRMWInst::setVolatile(), llvm::AtomicCmpXchgInst::setWeak(), SI, llvm::DenseMapBase< SmallDenseMap< KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::size(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::ArrayRef< T >::size(), llvm::AMDGPU::CodeObject::Kernel::Arg::Key::Size, llvm::Value::sortUseList(), llvm::ARM_MB::ST, llvm::lltok::StringConstant, llvm::ValID::StrVal, llvm::ValID::StrVal2, llvm::AtomicRMWInst::Sub, llvm::SyncScope::System, llvm::ValID::t_APFloat, llvm::ValID::t_APSInt, llvm::ValID::t_Constant, llvm::ValID::t_ConstantStruct, llvm::ValID::t_EmptyArray, llvm::ValID::t_GlobalID, llvm::ValID::t_GlobalName, llvm::ValID::t_InlineAsm, llvm::ValID::t_LocalID, llvm::ValID::t_LocalName, llvm::ValID::t_None, llvm::ValID::t_Null, llvm::ValID::t_PackedConstantStruct, llvm::ValID::t_Undef, llvm::ValID::t_Zero, llvm::CallInst::TCK_MustTail, llvm::CallInst::TCK_None, llvm::CallInst::TCK_NoTail, llvm::CallInst::TCK_Tail, llvm::ValID::UIntVal, llvm::AtomicRMWInst::UMax, llvm::AtomicRMWInst::UMin, llvm::Unordered, llvm::Value::use_begin(), llvm::Value::use_empty(), llvm::Value::use_end(), llvm::Value::uses(), llvm::InlineAsm::Verify(), Visibility, llvm::GlobalValue::WeakAnyLinkage, llvm::GlobalValue::WeakODRLinkage, llvm::AtomicRMWInst::Xchg, and llvm::AtomicRMWInst::Xor.

Referenced by llvm::LLParser::getContext(), llvm::MachineFunction::getFunctionNumber(), and PrintParentLoopComment().

◆ getTypeString()

static std::string getTypeString ( Type T)
static

Definition at line 57 of file LLParser.cpp.

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

Referenced by createGlobalFwdRef(), and FunctionNumber().

◆ if() [1/3]

* if ( EatIfPresentlltok::kw_thread_local)

ParseOptionalThreadLocal := /*empty.

Referenced by aliasSameBasePointerGEPs(), allocset(), analyzeGlobalAux(), llvm::MachineOperandIteratorBase::analyzeVirtReg(), AssignProtectedObjSet(), CollectSubexprs(), llvm::computeBlockSize(), llvm::SelectionDAG::computeKnownBits(), computeKnownBitsFromOperator(), llvm::TargetInstrInfo::defaultDefLatency(), DeleteTriviallyDeadInstructions(), llvm::OrderedBasicBlock::dominates(), llvm::GVNExpression::Expression::dump(), llvm::MCDwarfLineAddr::Encode(), llvm::PMDataManager::findAnalysisPass(), llvm::LexicalScopes::findLexicalScope(), FindLIVLoopCondition(), llvm::RuntimeDyldImpl::findOrEmitSection(), llvm::pdb::NativeSession::findSymbolByTypeIndex(), gatherUnrollingPreferences(), llvm::X86TTIImpl::getArithmeticInstrCost(), llvm::X86TTIImpl::getCmpSelInstrCost(), getElementByteSizeValue(), llvm::ARMConstantPoolValue::getExistingMachineCPValueImpl(), llvm::DWARFDebugLine::LineTable::getFileNameByIndex(), llvm::getInlineParams(), llvm::DWARFContext::getInliningInfoForAddress(), llvm::X86TTIImpl::getIntrinsicInstrCost(), llvm::PPCTTIImpl::getMemoryOpCost(), llvm::LexicalScopes::getOrCreateAbstractScope(), llvm::SparseSolver::getOrInitValueState(), getOtherIncomingValue(), getPointerOperand(), getRangeForAffineARHelper(), GetRangeFromMetadata(), llvm::X86TTIImpl::getReductionCost(), llvm::X86TargetLowering::getRegForInlineAsmConstraint(), llvm::MachineTraceMetrics::getResources(), getSingleDef(), llvm::AArch64TTIImpl::getUnrollingPreferences(), hashInstructionMapping(), llvm::InterferenceCache::init(), llvm::isGuaranteedToExecute(), isSimpleEnoughPointerToCommit(), llvm::GVN::ValueTable::lookupOrAdd(), llvm::AMDGPUSubtarget::makeLIDRangeMetadata(), needsRuntimeRegistrationOfSectionRange(), llvm::DataLayout::operator==(), patchAndReplaceAllUsesWith(), llvm::FileInfo::print(), llvm::DemandedBitsWrapperPass::releaseMemory(), replaceAllUsesOfWithIn(), resultTests(), llvm::WholeProgramDevirtPass::run(), llvm::GVNHoist::run(), llvm::FastISel::selectExtractValue(), ShrinkDemandedConstant(), srcMgrDiagHandler(), StackMallocSizeClass(), llvm::ExecutionEngine::StoreValueToMemory(), llvm::TargetPassConfig::TargetPassConfig(), translateImmediate(), verifySameBranchInstructions(), and llvm::MachObjectWriter::writeNlist().

◆ if() [2/3]

if ( Lex.  getKind() = = lltok::lparen)

Definition at line 1336 of file LLParser.cpp.

References llvm::LLLexer::Lex(), and llvm::lltok::rparen.

◆ if() [3/3]

* if ( EatIfPresentlltok::kw_addrspace)

ParseOptionalAddrSpace := /*empty.

◆ isValidVisibilityForLinkage()

static bool isValidVisibilityForLinkage ( unsigned  V,
unsigned  L 
)
static

Definition at line 697 of file LLParser.cpp.

References llvm::AttrBuilder::addAlignmentAttr(), llvm::AttrBuilder::addAllocSizeAttr(), llvm::AttrBuilder::addAttribute(), llvm::AttrBuilder::addStackAlignmentAttr(), assert(), llvm::lltok::AttrGrpID, llvm::AMDGPU::CodeObject::Kernel::Key::Attrs, B, C, llvm::AttrBuilder::clear(), llvm::CallingConv::Cold, llvm::lltok::comma, llvm::ValID::ConstantVal, llvm::MCID::Convergent, llvm::GlobalAlias::create(), llvm::GlobalIFunc::create(), llvm::GlobalValue::DefaultVisibility, llvm::dyn_cast(), llvm::lltok::equal, llvm::GlobalValue::eraseFromParent(), llvm::GlobalValue::ExternalLinkage, llvm::AttributeSet::get(), llvm::Module::getAliasList(), llvm::Module::getGlobalList(), llvm::Module::getIFuncList(), llvm::LLLexer::getKind(), llvm::LLLexer::getLoc(), llvm::Module::getNamedValue(), llvm::LLLexer::getStrVal(), llvm::Value::getType(), llvm::GlobalValue::getType(), llvm::LLLexer::getUIntVal(), llvm::GlobalValue::getValueType(), llvm::Module::global_end(), llvm::AttrBuilder::hasAttributes(), I, llvm::Type::isFunctionTy(), llvm::GlobalValue::isLocalLinkage(), llvm::GlobalValue::isValidDeclarationLinkage(), llvm::PointerType::isValidElementType(), llvm::GlobalAlias::isValidLinkage(), llvm::ISD::JumpTable, llvm::ValID::Kind, llvm::lltok::kw_addrspacecast, llvm::lltok::kw_alias, llvm::lltok::kw_align, llvm::lltok::kw_alignstack, llvm::lltok::kw_allocsize, llvm::lltok::kw_alwaysinline, llvm::lltok::kw_argmemonly, llvm::lltok::kw_attributes, llvm::lltok::kw_bitcast, llvm::lltok::kw_builtin, llvm::lltok::kw_byval, llvm::lltok::kw_cold, llvm::lltok::kw_convergent, llvm::lltok::kw_dereferenceable, llvm::lltok::kw_dereferenceable_or_null, llvm::lltok::kw_externally_initialized, llvm::lltok::kw_getelementptr, llvm::lltok::kw_ifunc, llvm::lltok::kw_inaccessiblemem_or_argmemonly, llvm::lltok::kw_inaccessiblememonly, llvm::lltok::kw_inalloca, llvm::lltok::kw_inlinehint, llvm::lltok::kw_inreg, llvm::lltok::kw_inttoptr, llvm::lltok::kw_jumptable, llvm::lltok::kw_minsize, llvm::lltok::kw_naked, llvm::lltok::kw_nest, llvm::lltok::kw_noalias, llvm::lltok::kw_nobuiltin, llvm::lltok::kw_nocapture, llvm::lltok::kw_noduplicate, llvm::lltok::kw_noimplicitfloat, llvm::lltok::kw_noinline, llvm::lltok::kw_nonlazybind, llvm::lltok::kw_nonnull, llvm::lltok::kw_norecurse, llvm::lltok::kw_noredzone, llvm::lltok::kw_noreturn, llvm::lltok::kw_nounwind, llvm::lltok::kw_optnone, llvm::lltok::kw_optsize, llvm::lltok::kw_readnone, llvm::lltok::kw_readonly, llvm::lltok::kw_returned, llvm::lltok::kw_returns_twice, llvm::lltok::kw_safestack, llvm::lltok::kw_sanitize_address, llvm::lltok::kw_sanitize_memory, llvm::lltok::kw_sanitize_thread, llvm::lltok::kw_section, llvm::lltok::kw_signext, llvm::lltok::kw_speculatable, llvm::lltok::kw_sret, llvm::lltok::kw_ssp, llvm::lltok::kw_sspreq, llvm::lltok::kw_sspstrong, llvm::lltok::kw_swifterror, llvm::lltok::kw_swiftself, llvm::lltok::kw_uwtable, llvm::lltok::kw_writeonly, llvm::lltok::kw_zeroext, llvm::lltok::lbrace, llvm::LLLexer::Lex(), llvm_unreachable, llvm::lltok::MetadataVar, Name, llvm::GlobalValue::NotThreadLocal, llvm::iplist_impl< IntrusiveListT, TraitsT >::push_back(), llvm::lltok::rbrace, llvm::Value::replaceAllUsesWith(), llvm::GlobalObject::setAlignment(), llvm::GlobalVariable::setAttributes(), llvm::GlobalObject::setComdat(), llvm::GlobalVariable::setConstant(), llvm::GlobalValue::setDLLStorageClass(), llvm::GlobalVariable::setExternallyInitialized(), llvm::GlobalVariable::setInitializer(), llvm::GlobalValue::setLinkage(), llvm::GlobalObject::setSection(), llvm::GlobalValue::setThreadLocalMode(), llvm::GlobalValue::setUnnamedAddr(), llvm::GlobalValue::setVisibility(), llvm::iplist_impl< IntrusiveListT, TraitsT >::splice(), llvm::lltok::StringConstant, llvm::ValID::t_Constant, TLM, and Visibility.

Referenced by FunctionNumber().

◆ parseOptionalLinkageAux()

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

Definition at line 1553 of file LLParser.cpp.

References llvm::Acquire, llvm::AcquireRelease, llvm::GlobalObject::addMetadata(), llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::CallingConv::AMDGPU_KERNEL, llvm::CallingConv::AMDGPU_PS, llvm::CallingConv::AMDGPU_VS, llvm::CallingConv::AnyReg, llvm::GlobalValue::AppendingLinkage, llvm::lltok::APSInt, llvm::CallingConv::ARM_AAPCS, llvm::CallingConv::ARM_AAPCS_VFP, llvm::CallingConv::ARM_APCS, assert(), llvm::AMDGPU::CodeObject::Kernel::Key::Attrs, llvm::GlobalValue::AvailableExternallyLinkage, llvm::CallingConv::AVR_INTR, llvm::CallingConv::AVR_SIGNAL, llvm::CallingConv::C, llvm::CallingConv::Cold, llvm::lltok::comma, llvm::GlobalValue::CommonLinkage, llvm::StructType::create(), llvm::CallingConv::CXX_FAST_TLS, llvm::GlobalValue::DefaultStorageClass, llvm::GlobalValue::DefaultVisibility, llvm::GlobalValue::DLLExportStorageClass, llvm::GlobalValue::DLLImportStorageClass, llvm::lltok::dotdotdot, llvm::SmallVectorImpl< T >::emplace_back(), llvm::SmallVectorBase::empty(), llvm::GlobalValue::ExternalLinkage, llvm::GlobalValue::ExternalWeakLinkage, F(), llvm::CallingConv::Fast, llvm::FunctionType::get(), llvm::AttributeSet::get(), llvm::StructType::get(), llvm::ArrayType::get(), llvm::VectorType::get(), llvm::PointerType::get(), llvm::LLLexer::getAPSIntVal(), llvm::APInt::getBitWidth(), llvm::Type::getContext(), llvm::Value::getContext(), llvm::LLLexer::getKind(), llvm::LLLexer::getLoc(), llvm::Module::getMDKindID(), llvm::LLVMContext::getOrInsertSyncScopeID(), llvm::LLLexer::getStrVal(), llvm::LLLexer::getTyVal(), llvm::LLLexer::getUIntVal(), llvm::PointerType::getUnqual(), llvm::APInt::getZExtValue(), llvm::CallingConv::GHC, llvm::lltok::greater, llvm::CallingConv::HHVM, llvm::CallingConv::HHVM_C, llvm::GlobalValue::HiddenVisibility, fuzzer::Inputs, llvm::CallingConv::Intel_OCL_BI, llvm::GlobalValue::InternalLinkage, isAtomic(), llvm::Type::isFirstClassType(), llvm::Type::isLabelTy(), llvm::Type::isMetadataTy(), llvm::isPowerOf2_32(), llvm::APSInt::isSigned(), llvm::FunctionType::isValidArgumentType(), llvm::StructType::isValidElementType(), llvm::ArrayType::isValidElementType(), llvm::VectorType::isValidElementType(), llvm::PointerType::isValidElementType(), llvm::FunctionType::isValidReturnType(), llvm::HexagonMCInstrInfo::isVector(), llvm::Type::isVoidTy(), Kind, llvm::lltok::kw_acq_rel, llvm::lltok::kw_acquire, llvm::lltok::kw_addrspace, llvm::lltok::kw_align, llvm::lltok::kw_alignstack, llvm::lltok::kw_amdgpu_cs, llvm::lltok::kw_amdgpu_gs, llvm::lltok::kw_amdgpu_hs, llvm::lltok::kw_amdgpu_kernel, llvm::lltok::kw_amdgpu_ps, llvm::lltok::kw_amdgpu_vs, llvm::lltok::kw_anyregcc, llvm::lltok::kw_appending, llvm::lltok::kw_arm_aapcs_vfpcc, llvm::lltok::kw_arm_aapcscc, llvm::lltok::kw_arm_apcscc, llvm::lltok::kw_available_externally, llvm::lltok::kw_avr_intrcc, llvm::lltok::kw_avr_signalcc, llvm::lltok::kw_cc, llvm::lltok::kw_ccc, llvm::lltok::kw_coldcc, llvm::lltok::kw_common, llvm::lltok::kw_cxx_fast_tlscc, llvm::lltok::kw_default, llvm::lltok::kw_dereferenceable, llvm::lltok::kw_dereferenceable_or_null, llvm::lltok::kw_dllexport, llvm::lltok::kw_dllimport, llvm::lltok::kw_extern_weak, llvm::lltok::kw_external, llvm::lltok::kw_fastcc, llvm::lltok::kw_ghccc, llvm::lltok::kw_hhvm_ccc, llvm::lltok::kw_hhvmcc, llvm::lltok::kw_hidden, llvm::lltok::kw_intel_ocl_bicc, llvm::lltok::kw_internal, llvm::lltok::kw_linkonce, llvm::lltok::kw_linkonce_odr, llvm::lltok::kw_monotonic, llvm::lltok::kw_msp430_intrcc, llvm::lltok::kw_opaque, llvm::lltok::kw_preserve_allcc, llvm::lltok::kw_preserve_mostcc, llvm::lltok::kw_private, llvm::lltok::kw_protected, llvm::lltok::kw_ptx_device, llvm::lltok::kw_ptx_kernel, llvm::lltok::kw_release, llvm::lltok::kw_seq_cst, llvm::lltok::kw_spir_func, llvm::lltok::kw_spir_kernel, llvm::lltok::kw_swiftcc, llvm::lltok::kw_syncscope, llvm::lltok::kw_unordered, llvm::lltok::kw_weak, llvm::lltok::kw_weak_odr, llvm::lltok::kw_webkit_jscc, llvm::lltok::kw_win64cc, llvm::lltok::kw_x, llvm::lltok::kw_x86_64_sysvcc, llvm::lltok::kw_x86_fastcallcc, llvm::lltok::kw_x86_intrcc, llvm::lltok::kw_x86_regcallcc, llvm::lltok::kw_x86_stdcallcc, llvm::lltok::kw_x86_thiscallcc, llvm::lltok::kw_x86_vectorcallcc, llvm::lltok::lbrace, llvm::lltok::less, llvm::LLLexer::Lex(), llvm::GlobalValue::LinkOnceAnyLinkage, llvm::GlobalValue::LinkOnceODRLinkage, llvm::lltok::LocalVar, llvm::lltok::LocalVarID, llvm::lltok::lparen, llvm::lltok::lsquare, llvm::Value::MaximumAlignment, llvm::LLVMContext::MD_tbaa, llvm::lltok::MetadataVar, llvm::Monotonic, llvm::CallingConv::MSP430_INTR, N, Name, llvm::None, llvm::CallingConv::PreserveAll, llvm::CallingConv::PreserveMost, llvm::GlobalValue::PrivateLinkage, llvm::GlobalValue::ProtectedVisibility, llvm::CallingConv::PTX_Device, llvm::CallingConv::PTX_Kernel, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::lltok::rbrace, llvm::Release, llvm::lltok::rparen, llvm::lltok::rsquare, llvm::SequentiallyConsistent, llvm::StructType::setBody(), llvm::Instruction::setMetadata(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::AMDGPU::CodeObject::Kernel::Arg::Key::Size, llvm::CallingConv::SPIR_FUNC, llvm::CallingConv::SPIR_KERNEL, llvm::lltok::star, llvm::CallingConv::Swift, llvm::SyncScope::System, llvm::lltok::Type, llvm::Unordered, llvm::GlobalValue::WeakAnyLinkage, llvm::GlobalValue::WeakODRLinkage, llvm::CallingConv::WebKit_JS, llvm::CallingConv::Win64, llvm::CallingConv::X86_64_SysV, llvm::CallingConv::X86_FastCall, llvm::CallingConv::X86_INTR, llvm::CallingConv::X86_RegCall, llvm::CallingConv::X86_StdCall, llvm::CallingConv::X86_ThisCall, and llvm::CallingConv::X86_VectorCall.

Variable Documentation

◆ false

return false

Definition at line 1341 of file LLParser.cpp.

◆ TLM

TLM = GlobalVariable::GeneralDynamicTLSModel