LLVM 22.0.0git
llvm::LLParser Class Reference

#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)
LLVMContextgetContext ()
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)

Detailed Description

Definition at line 107 of file LLParser.h.

Member Typedef Documentation

◆ LocTy

Definition at line 109 of file LLParser.h.

Constructor & Destructor Documentation

◆ LLParser()

llvm::LLParser::LLParser ( StringRef F,
SourceMgr & SM,
SMDiagnostic & Err,
Module * M,
ModuleSummaryIndex * Index,
LLVMContext & Context,
SlotMapping * Slots = nullptr )
inline

Definition at line 190 of file LLParser.h.

References F.

Member Function Documentation

◆ getContext()

LLVMContext & llvm::LLParser::getContext ( )
inline

Definition at line 210 of file LLParser.h.

◆ parseDIExpressionBodyAtBeginning()

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().

◆ parseMDField() [1/24]

template<>
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().

◆ parseMDField() [2/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
ColumnField & Result )

Definition at line 4902 of file LLParser.cpp.

◆ parseMDField() [3/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
DIFlagField & Result )

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().

◆ parseMDField() [4/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
DISPFlagField & Result )

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().

◆ parseMDField() [5/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
DwarfAttEncodingField & Result )

◆ parseMDField() [6/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
DwarfCCField & Result )

◆ parseMDField() [7/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
DwarfEnumKindField & Result )

◆ parseMDField() [8/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
DwarfLangField & Result )

◆ parseMDField() [9/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
DwarfMacinfoTypeField & Result )

◆ parseMDField() [10/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
DwarfTagField & Result )

◆ parseMDField() [11/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
DwarfVirtualityField & Result )

◆ parseMDField() [12/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
EmissionKindField & Result )

◆ parseMDField() [13/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
FixedPointKindField & Result )

◆ parseMDField() [14/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
LineField & Result )

Definition at line 4898 of file LLParser.cpp.

◆ parseMDField() [15/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
MDAPSIntField & Result )

Definition at line 4872 of file LLParser.cpp.

References llvm::lltok::APSInt.

◆ parseMDField() [16/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
MDBoolField & Result )

Definition at line 5194 of file LLParser.cpp.

References llvm::lltok::kw_false, and llvm::lltok::kw_true.

◆ parseMDField() [17/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
MDField & Result )

Definition at line 5210 of file LLParser.cpp.

References llvm::lltok::kw_null.

◆ parseMDField() [18/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
MDFieldList & Result )

Definition at line 5297 of file LLParser.cpp.

◆ parseMDField() [19/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
MDSignedField & Result )

Definition at line 5175 of file LLParser.cpp.

References llvm::lltok::APSInt, and assert().

◆ parseMDField() [20/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
MDSignedOrMDField & Result )

Definition at line 5228 of file LLParser.cpp.

References llvm::lltok::APSInt.

◆ parseMDField() [21/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
MDStringField & Result )

Definition at line 5274 of file LLParser.cpp.

References error, and llvm::MDString::get().

◆ parseMDField() [22/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
MDUnsignedField & Result )

Definition at line 4882 of file LLParser.cpp.

References llvm::lltok::APSInt, and assert().

◆ parseMDField() [23/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
MDUnsignedOrMDField & Result )

Definition at line 5251 of file LLParser.cpp.

References llvm::lltok::APSInt.

◆ parseMDField() [24/24]

template<>
bool llvm::LLParser::parseMDField ( LocTy Loc,
StringRef Name,
NameTableKindField & Result )

◆ parseStandaloneConstantValue()

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().

◆ parseTypeAtBeginning()

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().

◆ Run()

bool LLParser::Run ( bool UpgradeDebugInfo,
DataLayoutCallbackTy DataLayoutCallback = [](StringRefStringRef) { return std::nullopt; } )

Run: module ::= toplevelentity*.

Definition at line 75 of file LLParser.cpp.

References error.

Referenced by parseAssemblyInto(), and parseSummaryIndexAssemblyInto().


The documentation for this class was generated from the following files: