LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
X86AsmParser.cpp File Reference
#include "MCTargetDesc/X86BaseInfo.h"
#include "llvm/ADT/APFloat.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/MCParser/MCAsmLexer.h"
#include "llvm/MC/MCParser/MCAsmParser.h"
#include "llvm/MC/MCParser/MCParsedAsmOperand.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/MCTargetAsmParser.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/raw_ostream.h"
#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
 

Auto-generated Match Functions

{

#define GET_REGISTER_MATCHER
 
#define GET_MATCHER_IMPLEMENTATION
 
#define GET_SUBTARGET_FEATURE_NAME
 
enum  IntelOperatorKind { IOK_LENGTH, IOK_SIZE, IOK_TYPE }
 
static unsigned MatchRegisterName (StringRef Name)
 
static bool isImmSExti16i8Value (uint64_t Value)
 } More...
 
static bool isImmSExti32i8Value (uint64_t Value)
 
static bool isImmZExtu32u8Value (uint64_t Value)
 
static bool isImmSExti64i8Value (uint64_t Value)
 
static bool isImmSExti64i32Value (uint64_t Value)
 
static unsigned getIntelMemOperandSize (StringRef OpStr)
 getIntelMemOperandSize - Return intel memory operand size. More...
 
static void RewriteIntelBracExpression (SmallVectorImpl< AsmRewrite > *AsmRewrites, StringRef SymName, int64_t ImmDisp, int64_t FinalImmDisp, SMLoc &BracLoc, SMLoc &StartInBrac, SMLoc &End)
 
static bool convertToSExti8 (MCInst &Inst, unsigned Opcode, unsigned Reg, bool isCmp)
 
static bool convert16i16to16ri8 (MCInst &Inst, unsigned Opcode, bool isCmp=false)
 
static bool convert32i32to32ri8 (MCInst &Inst, unsigned Opcode, bool isCmp=false)
 
static bool convert64i32to64ri8 (MCInst &Inst, unsigned Opcode, bool isCmp=false)
 
static const char * getSubtargetFeatureName (unsigned Val)
 
void LLVMInitializeX86AsmParser ()
 

Macro Definition Documentation

#define GET_ASSEMBLER_HEADER

Definition at line 553 of file X86AsmParser.cpp.

#define GET_MATCHER_IMPLEMENTATION

Definition at line 2681 of file X86AsmParser.cpp.

#define GET_REGISTER_MATCHER

Definition at line 2680 of file X86AsmParser.cpp.

#define GET_SUBTARGET_FEATURE_NAME

Definition at line 2682 of file X86AsmParser.cpp.

Enumeration Type Documentation

Enumerator
IOK_LENGTH 
IOK_SIZE 
IOK_TYPE 

Definition at line 1593 of file X86AsmParser.cpp.

Function Documentation

static bool convert16i16to16ri8 ( MCInst Inst,
unsigned  Opcode,
bool  isCmp = false 
)
static
static bool convert32i32to32ri8 ( MCInst Inst,
unsigned  Opcode,
bool  isCmp = false 
)
static
static bool convert64i32to64ri8 ( MCInst Inst,
unsigned  Opcode,
bool  isCmp = false 
)
static
static bool convertToSExti8 ( MCInst Inst,
unsigned  Opcode,
unsigned  Reg,
bool  isCmp 
)
static
static unsigned getIntelMemOperandSize ( StringRef  OpStr)
static

getIntelMemOperandSize - Return intel memory operand size.

Definition at line 1165 of file X86AsmParser.cpp.

References llvm::StringSwitch< T, R >::Cases(), and llvm::StringSwitch< T, R >::Default().

static const char* getSubtargetFeatureName ( unsigned  Val)
static
static bool isImmSExti16i8Value ( uint64_t  Value)
static

}

Definition at line 583 of file X86AsmParser.cpp.

Referenced by convert16i16to16ri8().

static bool isImmSExti32i8Value ( uint64_t  Value)
static

Definition at line 589 of file X86AsmParser.cpp.

Referenced by convert32i32to32ri8().

static bool isImmSExti64i32Value ( uint64_t  Value)
static

Definition at line 604 of file X86AsmParser.cpp.

static bool isImmSExti64i8Value ( uint64_t  Value)
static

Definition at line 599 of file X86AsmParser.cpp.

Referenced by convert64i32to64ri8().

static bool isImmZExtu32u8Value ( uint64_t  Value)
static

Definition at line 595 of file X86AsmParser.cpp.

void LLVMInitializeX86AsmParser ( )

Definition at line 2675 of file X86AsmParser.cpp.

References llvm::TheX86_32Target, llvm::TheX86_64Target, llvm::X, and Y.

static unsigned MatchRegisterName ( StringRef  Name)
static
static void RewriteIntelBracExpression ( SmallVectorImpl< AsmRewrite > *  AsmRewrites,
StringRef  SymName,
int64_t  ImmDisp,
int64_t  FinalImmDisp,
SMLoc BracLoc,
SMLoc StartInBrac,
SMLoc End 
)
static