LLVM 20.0.0git
Classes | Namespaces | Macros | Functions
X86MCTargetDesc.cpp File Reference
#include "X86MCTargetDesc.h"
#include "TargetInfo/X86TargetInfo.h"
#include "X86ATTInstPrinter.h"
#include "X86BaseInfo.h"
#include "X86IntelInstPrinter.h"
#include "X86MCAsmInfo.h"
#include "X86TargetStreamer.h"
#include "llvm/ADT/APInt.h"
#include "llvm/DebugInfo/CodeView/CodeView.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/MC/MCInstrAnalysis.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/TargetParser/Host.h"
#include "llvm/TargetParser/Triple.h"
#include "X86GenRegisterInfo.inc"
#include "X86GenInstrInfo.inc"
#include "X86GenSubtargetInfo.inc"

Go to the source code of this file.

Classes

class  llvm::X86_MC::X86MCInstrAnalysis
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::X86_MC
 

Macros

#define GET_REGINFO_MC_DESC
 
#define GET_INSTRINFO_MC_DESC
 
#define GET_INSTRINFO_MC_HELPERS
 
#define ENABLE_INSTR_PREDICATE_VERIFIER
 
#define GET_SUBTARGETINFO_MC_DESC
 
#define GET_STIPREDICATE_DECLS_FOR_MC_ANALYSIS
 
#define GET_STIPREDICATE_DEFS_FOR_MC_ANALYSIS
 
#define DEFAULT_NOREG
 
#define SUB_SUPER(R1, R2, R3, R4, R)
 
#define A_SUB_SUPER(R)
 
#define D_SUB_SUPER(R)
 
#define C_SUB_SUPER(R)
 
#define B_SUB_SUPER(R)
 
#define SI_SUB_SUPER(R)   SUB_SUPER(SIL, SI, ESI, RSI, R)
 
#define DI_SUB_SUPER(R)   SUB_SUPER(DIL, DI, EDI, RDI, R)
 
#define BP_SUB_SUPER(R)   SUB_SUPER(BPL, BP, EBP, RBP, R)
 
#define SP_SUB_SUPER(R)   SUB_SUPER(SPL, SP, ESP, RSP, R)
 
#define NO_SUB_SUPER(NO, REG)    SUB_SUPER(R##NO##B, R##NO##W, R##NO##D, R##NO, REG)
 
#define NO_SUB_SUPER_B(NO)   NO_SUB_SUPER(NO, R##NO##B)
 
#define NO_SUB_SUPER_W(NO)   NO_SUB_SUPER(NO, R##NO##W)
 
#define NO_SUB_SUPER_D(NO)   NO_SUB_SUPER(NO, R##NO##D)
 
#define NO_SUB_SUPER_Q(NO)   NO_SUB_SUPER(NO, R##NO)
 

Functions

static bool isMemOperand (const MCInst &MI, unsigned Op, unsigned RegClassID)
 
static MCInstrInfocreateX86MCInstrInfo ()
 
static MCRegisterInfocreateX86MCRegisterInfo (const Triple &TT)
 
static MCAsmInfocreateX86MCAsmInfo (const MCRegisterInfo &MRI, const Triple &TheTriple, const MCTargetOptions &Options)
 
static MCInstPrintercreateX86MCInstPrinter (const Triple &T, unsigned SyntaxVariant, const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
 
static MCRelocationInfocreateX86MCRelocationInfo (const Triple &TheTriple, MCContext &Ctx)
 
static std::vector< std::pair< uint64_t, uint64_t > > llvm::X86_MC::findX86PltEntries (uint64_t PltSectionVA, ArrayRef< uint8_t > PltContents)
 
static std::vector< std::pair< uint64_t, uint64_t > > llvm::X86_MC::findX86_64PltEntries (uint64_t PltSectionVA, ArrayRef< uint8_t > PltContents)
 
static MCInstrAnalysiscreateX86MCInstrAnalysis (const MCInstrInfo *Info)
 
LLVM_C_ABI void LLVMInitializeX86TargetMC ()
 

Macro Definition Documentation

◆ A_SUB_SUPER

#define A_SUB_SUPER (   R)
Value:
case X86::AH: \
SUB_SUPER(AL, AX, EAX, RAX, R)

◆ B_SUB_SUPER

#define B_SUB_SUPER (   R)
Value:
case X86::BH: \
SUB_SUPER(BL, BX, EBX, RBX, R)

◆ BP_SUB_SUPER

#define BP_SUB_SUPER (   R)    SUB_SUPER(BPL, BP, EBP, RBP, R)

◆ C_SUB_SUPER

#define C_SUB_SUPER (   R)
Value:
case X86::CH: \
SUB_SUPER(CL, CX, ECX, RCX, R)

◆ D_SUB_SUPER

#define D_SUB_SUPER (   R)
Value:
case X86::DH: \
SUB_SUPER(DL, DX, EDX, RDX, R)
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL

◆ DEFAULT_NOREG

#define DEFAULT_NOREG
Value:
default: \
return X86::NoRegister;

◆ DI_SUB_SUPER

#define DI_SUB_SUPER (   R)    SUB_SUPER(DIL, DI, EDI, RDI, R)

◆ ENABLE_INSTR_PREDICATE_VERIFIER

#define ENABLE_INSTR_PREDICATE_VERIFIER

Definition at line 40 of file X86MCTargetDesc.cpp.

◆ GET_INSTRINFO_MC_DESC

#define GET_INSTRINFO_MC_DESC

Definition at line 38 of file X86MCTargetDesc.cpp.

◆ GET_INSTRINFO_MC_HELPERS

#define GET_INSTRINFO_MC_HELPERS

Definition at line 39 of file X86MCTargetDesc.cpp.

◆ GET_REGINFO_MC_DESC

#define GET_REGINFO_MC_DESC

Definition at line 35 of file X86MCTargetDesc.cpp.

◆ GET_STIPREDICATE_DECLS_FOR_MC_ANALYSIS

#define GET_STIPREDICATE_DECLS_FOR_MC_ANALYSIS

Definition at line 510 of file X86MCTargetDesc.cpp.

◆ GET_STIPREDICATE_DEFS_FOR_MC_ANALYSIS

#define GET_STIPREDICATE_DEFS_FOR_MC_ANALYSIS

Definition at line 529 of file X86MCTargetDesc.cpp.

◆ GET_SUBTARGETINFO_MC_DESC

#define GET_SUBTARGETINFO_MC_DESC

Definition at line 43 of file X86MCTargetDesc.cpp.

◆ NO_SUB_SUPER

#define NO_SUB_SUPER (   NO,
  REG 
)     SUB_SUPER(R##NO##B, R##NO##W, R##NO##D, R##NO, REG)

◆ NO_SUB_SUPER_B

#define NO_SUB_SUPER_B (   NO)    NO_SUB_SUPER(NO, R##NO##B)

◆ NO_SUB_SUPER_D

#define NO_SUB_SUPER_D (   NO)    NO_SUB_SUPER(NO, R##NO##D)

◆ NO_SUB_SUPER_Q

#define NO_SUB_SUPER_Q (   NO)    NO_SUB_SUPER(NO, R##NO)

◆ NO_SUB_SUPER_W

#define NO_SUB_SUPER_W (   NO)    NO_SUB_SUPER(NO, R##NO##W)

◆ SI_SUB_SUPER

#define SI_SUB_SUPER (   R)    SUB_SUPER(SIL, SI, ESI, RSI, R)

◆ SP_SUB_SUPER

#define SP_SUB_SUPER (   R)    SUB_SUPER(SPL, SP, ESP, RSP, R)

◆ SUB_SUPER

#define SUB_SUPER (   R1,
  R2,
  R3,
  R4,
 
)
Value:
case X86::R1: \
case X86::R2: \
case X86::R3: \
case X86::R4: \
return X86::R;

Function Documentation

◆ createX86MCAsmInfo()

static MCAsmInfo * createX86MCAsmInfo ( const MCRegisterInfo MRI,
const Triple TheTriple,
const MCTargetOptions Options 
)
static

◆ createX86MCInstPrinter()

static MCInstPrinter * createX86MCInstPrinter ( const Triple T,
unsigned  SyntaxVariant,
const MCAsmInfo MAI,
const MCInstrInfo MII,
const MCRegisterInfo MRI 
)
static

Definition at line 481 of file X86MCTargetDesc.cpp.

References MRI.

Referenced by LLVMInitializeX86TargetMC().

◆ createX86MCInstrAnalysis()

static MCInstrAnalysis * createX86MCInstrAnalysis ( const MCInstrInfo Info)
static

Definition at line 707 of file X86MCTargetDesc.cpp.

References Info.

Referenced by LLVMInitializeX86TargetMC().

◆ createX86MCInstrInfo()

static MCInstrInfo * createX86MCInstrInfo ( )
static

Definition at line 414 of file X86MCTargetDesc.cpp.

References X.

Referenced by LLVMInitializeX86TargetMC().

◆ createX86MCRegisterInfo()

static MCRegisterInfo * createX86MCRegisterInfo ( const Triple TT)
static

◆ createX86MCRelocationInfo()

static MCRelocationInfo * createX86MCRelocationInfo ( const Triple TheTriple,
MCContext Ctx 
)
static

Definition at line 493 of file X86MCTargetDesc.cpp.

References llvm::createMCRelocationInfo().

Referenced by LLVMInitializeX86TargetMC().

◆ isMemOperand()

static bool isMemOperand ( const MCInst MI,
unsigned  Op,
unsigned  RegClassID 
)
static

◆ LLVMInitializeX86TargetMC()

LLVM_C_ABI void LLVMInitializeX86TargetMC ( )