LLVM  7.0.0svn
Functions
X86AsmParser.cpp File Reference
#include "InstPrinter/X86IntelInstPrinter.h"
#include "MCTargetDesc/X86BaseInfo.h"
#include "MCTargetDesc/X86MCExpr.h"
#include "MCTargetDesc/X86TargetStreamer.h"
#include "X86AsmInstrumentation.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

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 934 of file X86AsmParser.cpp.

◆ GET_MATCHER_IMPLEMENTATION

#define GET_MATCHER_IMPLEMENTATION

Definition at line 3453 of file X86AsmParser.cpp.

◆ GET_REGISTER_MATCHER

#define GET_REGISTER_MATCHER

Definition at line 3452 of file X86AsmParser.cpp.

◆ GET_SUBTARGET_FEATURE_NAME

#define GET_SUBTARGET_FEATURE_NAME

Definition at line 3454 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 2903 of file X86AsmParser.cpp.

References llvm::AOK_SizeDirective, llvm::array_lengthof(), assert(), llvm::SmallVectorTemplateCommon< T >::back(), llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::sys::path::begin(), llvm::count(), llvm::dyn_cast(), E, llvm::SmallVectorBase::empty(), llvm::sys::path::end(), llvm::AsmToken::EndOfStatement, llvm::Error, 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(), I, 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, llvm::None, llvm::MCAsmParser::parseEOL(), llvm::MCAsmParser::parseIdentifier(), llvm::MCAsmParser::parseIntToken(), llvm::SmallVectorTemplateBase< T, isPodLike >::pop_back(), llvm::cl::Prefix, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), Reg, llvm::ARMBuildAttrs::Section, llvm::MCInst::setFlags(), llvm::MCInst::setLoc(), llvm::X86Operand::MemOp::Size, llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::AMDGPU::HSAMD::Kernel::Arg::Key::Size, llvm::StringRef::startswith(), llvm::raw_svector_ostream::str(), llvm::MCAsmParser::TokError(), and llvm::MCSection::UseCodeAlign().

◆ getSubtargetFeatureName()

static const char* getSubtargetFeatureName ( uint64_t  Val)
static

◆ LLVMInitializeX86AsmParser()

void LLVMInitializeX86AsmParser ( )

Definition at line 3447 of file X86AsmParser.cpp.

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

◆ MatchRegisterName()

static unsigned MatchRegisterName ( StringRef  Name)
static