LLVM  10.0.0svn
Macros | Functions
X86AsmParser.cpp File Reference
#include "MCTargetDesc/X86BaseInfo.h"
#include "MCTargetDesc/X86IntelInstPrinter.h"
#include "MCTargetDesc/X86MCExpr.h"
#include "MCTargetDesc/X86TargetStreamer.h"
#include "TargetInfo/X86TargetInfo.h"
#include "X86AsmParserCommon.h"
#include "X86Operand.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Twine.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCParser/MCAsmLexer.h"
#include "llvm/MC/MCParser/MCAsmParser.h"
#include "llvm/MC/MCParser/MCParsedAsmOperand.h"
#include "llvm/MC/MCParser/MCTargetAsmParser.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <memory>
#include "X86GenAsmMatcher.inc"
Include dependency graph for X86AsmParser.cpp:

Go to the source code of this file.

Macros

#define GET_OPERAND_DIAGNOSTIC_TYPES
 
Auto-generated Matcher Functions

{

#define GET_ASSEMBLER_HEADER
 

Functions

static bool checkScale (unsigned Scale, StringRef &ErrMsg)
 

Auto-generated Match Functions

{

#define GET_REGISTER_MATCHER
 
#define GET_MATCHER_IMPLEMENTATION
 
#define GET_SUBTARGET_FEATURE_NAME
 
static unsigned MatchRegisterName (StringRef Name)
 
static bool CheckBaseRegAndIndexRegAndScale (unsigned BaseReg, unsigned IndexReg, unsigned Scale, bool Is64BitMode, StringRef &ErrMsg)
 } More...
 
static const chargetSubtargetFeatureName (uint64_t Val)
 
static unsigned getPrefixes (OperandVector &Operands)
 
void LLVMInitializeX86AsmParser ()
 

Macro Definition Documentation

◆ GET_ASSEMBLER_HEADER

#define GET_ASSEMBLER_HEADER

Definition at line 958 of file X86AsmParser.cpp.

◆ GET_MATCHER_IMPLEMENTATION

#define GET_MATCHER_IMPLEMENTATION

Definition at line 3888 of file X86AsmParser.cpp.

◆ GET_OPERAND_DIAGNOSTIC_TYPES

#define GET_OPERAND_DIAGNOSTIC_TYPES

Definition at line 966 of file X86AsmParser.cpp.

◆ GET_REGISTER_MATCHER

#define GET_REGISTER_MATCHER

Definition at line 3887 of file X86AsmParser.cpp.

◆ GET_SUBTARGET_FEATURE_NAME

#define GET_SUBTARGET_FEATURE_NAME

Definition at line 3889 of file X86AsmParser.cpp.

Function Documentation

◆ CheckBaseRegAndIndexRegAndScale()

static bool CheckBaseRegAndIndexRegAndScale ( unsigned  BaseReg,
unsigned  IndexReg,
unsigned  Scale,
bool  Is64BitMode,
StringRef ErrMsg 
)
static

◆ checkScale()

static bool checkScale ( unsigned  Scale,
StringRef ErrMsg 
)
static

◆ getPrefixes()

static unsigned getPrefixes ( OperandVector Operands)
static

Definition at line 3096 of file X86AsmParser.cpp.

References llvm::AOK_SizeDirective, llvm::array_lengthof(), assert(), llvm::AsmToken::At, llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::SmallVectorTemplateCommon< T >::back(), llvm::sys::path::begin(), llvm::AsmToken::Comma, contains(), llvm::count(), llvm::dyn_cast(), E, llvm::SmallVectorBase::empty(), llvm::StringRef::empty(), llvm::X86II::EncodingMask, llvm::sys::path::end(), llvm::AsmToken::EndOfStatement, llvm::Error, llvm::X86II::EVEX, llvm::MCRegisterInfo::getEncodingValue(), llvm::AsmToken::getIdentifier(), llvm::AsmToken::getLoc(), llvm::X86Operand::getLocRange(), llvm::X86Operand::getMemFrontendSize(), llvm::MCInst::getOpcode(), llvm::X86Operand::getPrefix(), llvm::X86Operand::getStartLoc(), llvm::AsmToken::getString(), llvm::MCAsmParser::getTok(), llvm::X86Operand::getToken(), I, llvm::AsmToken::Integer, llvm::X86::IP_USE_VEX3, llvm::isIntN(), llvm::X86Operand::isMemUnsized(), llvm::X86Operand::isPrefix(), llvm::isUIntN(), llvm::SMLoc::isValid(), llvm::MCAsmParser::Lex(), llvm_unreachable, llvm::Match, llvm::MCAF_Code16, llvm::MCAF_Code32, llvm::MCAF_Code64, llvm::X86Operand::Mem, MRI, llvm::None, llvm::MCAsmParser::parseEOL(), llvm::MCAsmParser::parseIdentifier(), llvm::MCAsmParser::parseIntToken(), llvm::SmallVectorTemplateBase< T, bool >::pop_back(), llvm::cl::Prefix, llvm::SmallVectorTemplateBase< T, bool >::push_back(), Reg, llvm::ARMBuildAttrs::Section, llvm::MCInst::setFlags(), llvm::MCInst::setLoc(), llvm::X86Operand::setTokenValue(), Size, llvm::SmallVectorBase::size(), llvm::X86Operand::MemOp::Size, llvm::StringRef::size(), llvm::StringRef::startswith(), llvm::raw_svector_ostream::str(), llvm::MCAsmParser::TokError(), llvm::MCInstrDesc::TSFlags, llvm::MCSection::UseCodeAlign(), and llvm::X86II::VEX.

◆ getSubtargetFeatureName()

static const char* getSubtargetFeatureName ( uint64_t  Val)
static

◆ LLVMInitializeX86AsmParser()

void LLVMInitializeX86AsmParser ( )

Definition at line 3882 of file X86AsmParser.cpp.

References llvm::getTheX86_32Target(), llvm::getTheX86_64Target(), X, and Y.

◆ MatchRegisterName()

static unsigned MatchRegisterName ( StringRef  Name)
static