LLVM 22.0.0git
|
#include "llvm/AsmParser/LLParser.h"
Public Types | |
typedef LLLexer::LocTy | LocTy |
Public Member Functions | |
LLParser (StringRef F, SourceMgr &SM, SMDiagnostic &Err, Module *M, ModuleSummaryIndex *Index, LLVMContext &Context, SlotMapping *Slots=nullptr) | |
bool | Run (bool UpgradeDebugInfo, DataLayoutCallbackTy DataLayoutCallback=[](StringRef, StringRef) { return std::nullopt;}) |
Run: module ::= toplevelentity*. | |
bool | parseStandaloneConstantValue (Constant *&C, const SlotMapping *Slots) |
bool | parseTypeAtBeginning (Type *&Ty, unsigned &Read, const SlotMapping *Slots) |
bool | parseDIExpressionBodyAtBeginning (MDNode *&Result, unsigned &Read, const SlotMapping *Slots) |
LLVMContext & | getContext () |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, MDAPSIntField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, MDUnsignedField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, LineField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, ColumnField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, DwarfTagField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, DwarfMacinfoTypeField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, DwarfVirtualityField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, DwarfEnumKindField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, DwarfLangField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, DwarfCCField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, EmissionKindField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, FixedPointKindField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, NameTableKindField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, DwarfAttEncodingField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, DIFlagField &Result) |
DIFlagField ::= uint32 ::= DIFlagVector ::= DIFlagVector '|' DIFlagFwdDecl '|' uint32 '|' DIFlagPublic. | |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, DISPFlagField &Result) |
DISPFlagField ::= uint32 ::= DISPFlagVector ::= DISPFlagVector '|' DISPFlag* '|' uint32. | |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, MDSignedField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, MDBoolField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, MDField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, MDSignedOrMDField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, MDUnsignedOrMDField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, MDStringField &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, MDFieldList &Result) |
template<> | |
bool | parseMDField (LocTy Loc, StringRef Name, ChecksumKindField &Result) |
Definition at line 107 of file LLParser.h.
typedef LLLexer::LocTy llvm::LLParser::LocTy |
Definition at line 109 of file LLParser.h.
|
inline |
Definition at line 190 of file LLParser.h.
References F.
|
inline |
Definition at line 210 of file LLParser.h.
bool LLParser::parseDIExpressionBodyAtBeginning | ( | MDNode *& | Result, |
unsigned & | Read, | ||
const SlotMapping * | Slots ) |
Definition at line 123 of file LLParser.cpp.
References llvm::SMLoc::getPointer(), and llvm::Read.
Referenced by llvm::parseDIExpressionBodyAtBeginning().
bool llvm::LLParser::parseMDField | ( | LocTy | Loc, |
StringRef | Name, | ||
ChecksumKindField & | Result ) |
Definition at line 5307 of file LLParser.cpp.
References llvm::lltok::ChecksumKind, and llvm::DIFile::getChecksumKind().
Definition at line 4902 of file LLParser.cpp.
DIFlagField ::= uint32 ::= DIFlagVector ::= DIFlagVector '|' DIFlagFwdDecl '|' uint32 '|' DIFlagPublic.
Definition at line 5099 of file LLParser.cpp.
References llvm::lltok::APSInt, llvm::lltok::bar, llvm::lltok::DIFlag, and llvm::DINode::getFlag().
DISPFlagField ::= uint32 ::= DISPFlagVector ::= DISPFlagVector '|' DISPFlag* '|' uint32.
Definition at line 5139 of file LLParser.cpp.
References llvm::lltok::APSInt, llvm::lltok::bar, llvm::lltok::DISPFlag, and llvm::DISubprogram::getFlag().
bool llvm::LLParser::parseMDField | ( | LocTy | Loc, |
StringRef | Name, | ||
DwarfAttEncodingField & | Result ) |
Definition at line 5076 of file LLParser.cpp.
References llvm::lltok::APSInt, assert(), llvm::lltok::DwarfAttEncoding, and llvm::dwarf::getAttributeEncoding().
Definition at line 5001 of file LLParser.cpp.
References llvm::lltok::APSInt, assert(), llvm::lltok::DwarfCC, and llvm::dwarf::getCallingConvention().
bool llvm::LLParser::parseMDField | ( | LocTy | Loc, |
StringRef | Name, | ||
DwarfEnumKindField & | Result ) |
Definition at line 4964 of file LLParser.cpp.
References llvm::lltok::APSInt, assert(), llvm::dwarf::DW_APPLE_ENUM_KIND_invalid, llvm::lltok::DwarfEnumKind, and llvm::dwarf::getEnumKind().
Definition at line 4983 of file LLParser.cpp.
References llvm::lltok::APSInt, assert(), llvm::lltok::DwarfLang, and llvm::dwarf::getLanguage().
bool llvm::LLParser::parseMDField | ( | LocTy | Loc, |
StringRef | Name, | ||
DwarfMacinfoTypeField & | Result ) |
Definition at line 4925 of file LLParser.cpp.
References llvm::lltok::APSInt, assert(), llvm::dwarf::DW_MACINFO_invalid, llvm::lltok::DwarfMacinfo, and llvm::dwarf::getMacinfo().
Definition at line 4907 of file LLParser.cpp.
References llvm::lltok::APSInt, assert(), llvm::dwarf::DW_TAG_invalid, llvm::lltok::DwarfTag, llvm::dwarf::getTag(), and llvm::Tag.
bool llvm::LLParser::parseMDField | ( | LocTy | Loc, |
StringRef | Name, | ||
DwarfVirtualityField & | Result ) |
Definition at line 4945 of file LLParser.cpp.
References llvm::lltok::APSInt, assert(), llvm::dwarf::DW_VIRTUALITY_invalid, llvm::lltok::DwarfVirtuality, and llvm::dwarf::getVirtuality().
bool llvm::LLParser::parseMDField | ( | LocTy | Loc, |
StringRef | Name, | ||
EmissionKindField & | Result ) |
Definition at line 5019 of file LLParser.cpp.
References llvm::lltok::APSInt, assert(), llvm::lltok::EmissionKind, and llvm::DICompileUnit::getEmissionKind().
bool llvm::LLParser::parseMDField | ( | LocTy | Loc, |
StringRef | Name, | ||
FixedPointKindField & | Result ) |
Definition at line 5038 of file LLParser.cpp.
References llvm::lltok::APSInt, assert(), llvm::lltok::FixedPointKind, and llvm::DIFixedPointType::getFixedPointKind().
Definition at line 4898 of file LLParser.cpp.
Definition at line 4872 of file LLParser.cpp.
References llvm::lltok::APSInt.
Definition at line 5194 of file LLParser.cpp.
References llvm::lltok::kw_false, and llvm::lltok::kw_true.
Definition at line 5210 of file LLParser.cpp.
References llvm::lltok::kw_null.
Definition at line 5297 of file LLParser.cpp.
Definition at line 5175 of file LLParser.cpp.
References llvm::lltok::APSInt, and assert().
bool llvm::LLParser::parseMDField | ( | LocTy | Loc, |
StringRef | Name, | ||
MDSignedOrMDField & | Result ) |
Definition at line 5228 of file LLParser.cpp.
References llvm::lltok::APSInt.
Definition at line 5274 of file LLParser.cpp.
References error, and llvm::MDString::get().
bool llvm::LLParser::parseMDField | ( | LocTy | Loc, |
StringRef | Name, | ||
MDUnsignedField & | Result ) |
Definition at line 4882 of file LLParser.cpp.
References llvm::lltok::APSInt, and assert().
bool llvm::LLParser::parseMDField | ( | LocTy | Loc, |
StringRef | Name, | ||
MDUnsignedOrMDField & | Result ) |
Definition at line 5251 of file LLParser.cpp.
References llvm::lltok::APSInt.
bool llvm::LLParser::parseMDField | ( | LocTy | Loc, |
StringRef | Name, | ||
NameTableKindField & | Result ) |
Definition at line 5057 of file LLParser.cpp.
References llvm::lltok::APSInt, assert(), llvm::DICompileUnit::getNameTableKind(), and llvm::lltok::NameTableKind.
bool LLParser::parseStandaloneConstantValue | ( | Constant *& | C, |
const SlotMapping * | Slots ) |
Definition at line 94 of file LLParser.cpp.
References llvm::CallingConv::C, llvm::lltok::Eof, and error.
Referenced by llvm::parseConstantValue().
bool LLParser::parseTypeAtBeginning | ( | Type *& | Ty, |
unsigned & | Read, | ||
const SlotMapping * | Slots ) |
Definition at line 107 of file LLParser.cpp.
References llvm::SMLoc::getPointer(), and llvm::Read.
Referenced by llvm::parseTypeAtBeginning().
bool LLParser::Run | ( | bool | UpgradeDebugInfo, |
DataLayoutCallbackTy | DataLayoutCallback = [](StringRef, StringRef) { return std::nullopt; } ) |
Run: module ::= toplevelentity*.
Definition at line 75 of file LLParser.cpp.
References error.
Referenced by parseAssemblyInto(), and parseSummaryIndexAssemblyInto().