LLVM
8.0.1
|
#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"
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 char * | getSubtargetFeatureName (uint64_t Val) |
static unsigned | getPrefixes (OperandVector &Operands) |
void | LLVMInitializeX86AsmParser () |
#define GET_ASSEMBLER_HEADER |
Definition at line 938 of file X86AsmParser.cpp.
#define GET_MATCHER_IMPLEMENTATION |
Definition at line 3484 of file X86AsmParser.cpp.
#define GET_REGISTER_MATCHER |
Definition at line 3483 of file X86AsmParser.cpp.
#define GET_SUBTARGET_FEATURE_NAME |
Definition at line 3485 of file X86AsmParser.cpp.
|
static |
}
Definition at line 978 of file X86AsmParser.cpp.
References assert(), llvm::X86Operand::MemOp::BaseReg, checkScale(), contains(), llvm::MCConstantExpr::create(), llvm::X86Operand::CreateMem(), llvm::N86::EDI, llvm::Error, llvm::N86::ESI, llvm::N86::ESP, llvm::AsmToken::getEndLoc(), llvm::AsmToken::getIntVal(), llvm::AsmToken::getLoc(), llvm::X86Operand::getReg(), llvm::X86Operand::getStartLoc(), llvm::AsmToken::getString(), llvm::MCAsmParser::getTok(), llvm::AsmToken::Identifier, llvm::AsmToken::Integer, llvm::AsmToken::is(), llvm::X86Operand::isMem(), llvm::AsmToken::isNot(), llvm::X86Operand::isReg(), llvm::X86II::isX86_64ExtendedReg(), llvm::X86II::isX86_64NonExtLowByteReg(), llvm::MCAsmParser::Lex(), llvm_unreachable, llvm::StringRef::lower(), llvm::AsmToken::LParen, MatchRegisterName(), llvm::X86Operand::Mem, llvm::AsmToken::Percent, llvm::SmallVectorTemplateBase< T, bool >::pop_back(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), Reg, llvm::AsmToken::RParen, llvm::X86Operand::MemOp::SegReg, SI, llvm::SmallVectorBase::size(), llvm::X86Operand::MemOp::Size, llvm::StringRef::size(), llvm::StringRef::startswith(), and llvm::Warning.
Definition at line 43 of file X86AsmParser.cpp.
References assert(), llvm::MCAsmParser::eatToEndOfStatement(), llvm::SmallVectorBase::empty(), llvm::InlineAsmIdentifierInfo::Enum, llvm::InlineAsmIdentifierInfo::EnumIdentifier::EnumVal, llvm::Error, llvm::MCAsmParser::Error(), llvm::AsmToken::getLoc(), llvm::MCTargetStreamer::getStreamer(), getSym(), llvm::MCStreamer::getTargetStreamer(), llvm::MCAsmParser::getTok(), llvm::InlineAsmIdentifierInfo::IK_EnumVal, Info, llvm::InlineAsmIdentifierInfo::isKind(), llvm::MCAsmParser::Lex(), llvm::None, llvm::SmallVectorTemplateBase< T >::pop_back(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T >::push_back(), Reg, llvm::report_fatal_error(), and llvm::SmallVectorBase::size().
Referenced by CheckBaseRegAndIndexRegAndScale().
|
static |
Definition at line 2924 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, bool >::pop_back(), llvm::cl::Prefix, llvm::SmallVectorTemplateBase< T, bool >::push_back(), Reg, llvm::ARMBuildAttrs::Section, llvm::MCInst::setFlags(), llvm::MCInst::setLoc(), Size, llvm::SmallVectorBase::size(), llvm::X86Operand::MemOp::Size, llvm::StringRef::startswith(), llvm::raw_svector_ostream::str(), llvm::MCAsmParser::TokError(), and llvm::MCSection::UseCodeAlign().
void LLVMInitializeX86AsmParser | ( | ) |
Definition at line 3478 of file X86AsmParser.cpp.
References llvm::getTheX86_32Target(), llvm::getTheX86_64Target(), X, and Y.
Referenced by CheckBaseRegAndIndexRegAndScale().