LLVM 22.0.0git
X86AsmParser.cpp File Reference

Go to the source code of this file.

Macros

#define GET_X86_SSE2AVX_TABLE
#define GET_OPERAND_DIAGNOSTIC_TYPES
#define GET_REGISTER_MATCHER
#define GET_SUBTARGET_FEATURE_NAME
#define FROM_TO(FROM, TO)
#define GET_MATCHER_IMPLEMENTATION
Auto-generated Matcher Functions

{

#define GET_ASSEMBLER_HEADER

Functions

static bool checkScale (unsigned Scale, StringRef &ErrMsg)
static bool CheckBaseRegAndIndexRegAndScale (MCRegister BaseReg, MCRegister IndexReg, unsigned Scale, bool Is64BitMode, StringRef &ErrMsg)
uint16_t RegSizeInBits (const MCRegisterInfo &MRI, MCRegister RegNo)
static bool convertSSEToAVX (MCInst &Inst)
static unsigned getPrefixes (OperandVector &Operands)
LLVM_C_ABI void LLVMInitializeX86AsmParser ()

Variables

static cl::opt< boolLVIInlineAsmHardening ("x86-experimental-lvi-inline-asm-hardening", cl::desc("Harden inline assembly code that may be vulnerable to Load Value" " Injection (LVI). This feature is experimental."), cl::Hidden)

Macro Definition Documentation

◆ FROM_TO

#define FROM_TO ( FROM,
TO )
Value:
case X86::FROM: \
return replaceWithCCMPCTEST(X86::TO);

Referenced by convertALUrr2ALUri(), getImplicitCondFromMI(), and llvm::X86InstrInfo::optimizeCompareInstr().

◆ GET_ASSEMBLER_HEADER

#define GET_ASSEMBLER_HEADER

Definition at line 1289 of file X86AsmParser.cpp.

◆ GET_MATCHER_IMPLEMENTATION

#define GET_MATCHER_IMPLEMENTATION

Definition at line 5102 of file X86AsmParser.cpp.

◆ GET_OPERAND_DIAGNOSTIC_TYPES

#define GET_OPERAND_DIAGNOSTIC_TYPES

Definition at line 1297 of file X86AsmParser.cpp.

◆ GET_REGISTER_MATCHER

#define GET_REGISTER_MATCHER

Definition at line 1325 of file X86AsmParser.cpp.

◆ GET_SUBTARGET_FEATURE_NAME

#define GET_SUBTARGET_FEATURE_NAME

Definition at line 1326 of file X86AsmParser.cpp.

◆ GET_X86_SSE2AVX_TABLE

#define GET_X86_SSE2AVX_TABLE

Definition at line 67 of file X86AsmParser.cpp.

Function Documentation

◆ CheckBaseRegAndIndexRegAndScale()

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

Definition at line 1329 of file X86AsmParser.cpp.

References checkScale(), and contains().

◆ checkScale()

bool checkScale ( unsigned Scale,
StringRef & ErrMsg )
static

Definition at line 56 of file X86AsmParser.cpp.

Referenced by CheckBaseRegAndIndexRegAndScale().

◆ convertSSEToAVX()

◆ getPrefixes()

unsigned getPrefixes ( OperandVector & Operands)
static

Definition at line 4177 of file X86AsmParser.cpp.

References Operands.

◆ LLVMInitializeX86AsmParser()

LLVM_C_ABI void LLVMInitializeX86AsmParser ( )

Definition at line 5097 of file X86AsmParser.cpp.

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

◆ RegSizeInBits()

uint16_t RegSizeInBits ( const MCRegisterInfo & MRI,
MCRegister RegNo )

Definition at line 2610 of file X86AsmParser.cpp.

References contains(), and MRI.

Variable Documentation

◆ LVIInlineAsmHardening

cl::opt< bool > LVIInlineAsmHardening("x86-experimental-lvi-inline-asm-hardening", cl::desc("Harden inline assembly code that may be vulnerable to Load Value" " Injection (LVI). This feature is experimental."), cl::Hidden) ( "x86-experimental-lvi-inline-asm-hardening" ,
cl::desc("Harden inline assembly code that may be vulnerable to Load Value" " Injection (LVI). This feature is experimental.") ,
cl::Hidden  )
static