LLVM: lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp File Reference (original) (raw)

Go to the source code of this file.

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 MCInstrInfo * createX86MCInstrInfo ()
static MCRegisterInfo * createX86MCRegisterInfo (const Triple &TT)
static MCAsmInfo * createX86MCAsmInfo (const MCRegisterInfo &MRI, const Triple &TheTriple, const MCTargetOptions &Options)
static MCInstPrinter * createX86MCInstPrinter (const Triple &T, unsigned SyntaxVariant, const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
static MCRelocationInfo * createX86MCRelocationInfo (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 MCInstrAnalysis * createX86MCInstrAnalysis (const MCInstrInfo *Info)
LLVM_C_ABI void LLVMInitializeX86TargetMC ()

A_SUB_SUPER

Value:

case X86::AH: \

SUB_SUPER(AL, AX, EAX, RAX, R)

B_SUB_SUPER

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

Value:

case X86::CH: \

SUB_SUPER(CL, CX, ECX, RCX, R)

D_SUB_SUPER

Value:

case X86::DH: \

SUB_SUPER(DL, DX, EDX, RDX, R)

MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL

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

GET_INSTRINFO_MC_DESC

#define GET_INSTRINFO_MC_DESC

GET_INSTRINFO_MC_HELPERS

#define GET_INSTRINFO_MC_HELPERS

GET_REGINFO_MC_DESC

#define GET_REGINFO_MC_DESC

GET_STIPREDICATE_DECLS_FOR_MC_ANALYSIS

#define GET_STIPREDICATE_DECLS_FOR_MC_ANALYSIS

GET_STIPREDICATE_DEFS_FOR_MC_ANALYSIS

#define GET_STIPREDICATE_DEFS_FOR_MC_ANALYSIS

GET_SUBTARGETINFO_MC_DESC

#define GET_SUBTARGETINFO_MC_DESC

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

NO_SUB_SUPER_D

NO_SUB_SUPER_Q

NO_SUB_SUPER_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, | | | | | | R | | | | | ) | | | |

Value:

case X86::R1: \

case X86::R2: \

case X86::R3: \

case X86::R4: \

return X86::R;

createX86MCAsmInfo()

Definition at line 432 of file X86MCTargetDesc.cpp.

References llvm::MCAsmInfo::addInitialFrameState(), llvm::MCCFIInstruction::cfiDefCfa(), llvm::MCCFIInstruction::createOffset(), llvm::Triple::getArch(), is64Bit(), llvm::Triple::isOSBinFormatELF(), llvm::Triple::isOSBinFormatMachO(), llvm::Triple::isOSCygMing(), llvm::Triple::isUEFI(), llvm::Triple::isWindowsCoreCLREnvironment(), llvm::Triple::isWindowsItaniumEnvironment(), llvm::Triple::isWindowsMSVCEnvironment(), MRI, Options, and llvm::Triple::x86_64.

Referenced by LLVMInitializeX86TargetMC().

createX86MCInstPrinter()

createX86MCInstrAnalysis()

createX86MCInstrInfo()

createX86MCRegisterInfo()

createX86MCRelocationInfo()

isMemOperand()

LLVMInitializeX86TargetMC()

Definition at line 712 of file X86MCTargetDesc.cpp.

References llvm::createX86_32AsmBackend(), llvm::createX86_64AsmBackend(), llvm::createX86AsmTargetStreamer(), llvm::createX86ELFStreamer(), createX86MCAsmInfo(), llvm::createX86MCCodeEmitter(), createX86MCInstPrinter(), createX86MCInstrAnalysis(), createX86MCInstrInfo(), createX86MCRegisterInfo(), createX86MCRelocationInfo(), llvm::X86_MC::createX86MCSubtargetInfo(), llvm::createX86NullTargetStreamer(), llvm::createX86ObjectTargetStreamer(), llvm::createX86WinCOFFStreamer(), llvm::getTheX86_32Target(), llvm::getTheX86_64Target(), llvm::TargetRegistry::RegisterAsmTargetStreamer(), llvm::TargetRegistry::RegisterCOFFStreamer(), llvm::TargetRegistry::RegisterELFStreamer(), llvm::TargetRegistry::RegisterMCAsmBackend(), llvm::TargetRegistry::RegisterMCCodeEmitter(), llvm::TargetRegistry::RegisterMCInstPrinter(), llvm::TargetRegistry::RegisterMCInstrAnalysis(), llvm::TargetRegistry::RegisterMCInstrInfo(), llvm::TargetRegistry::RegisterMCRegInfo(), llvm::TargetRegistry::RegisterMCRelocationInfo(), llvm::TargetRegistry::RegisterMCSubtargetInfo(), llvm::TargetRegistry::RegisterNullTargetStreamer(), llvm::TargetRegistry::RegisterObjectTargetStreamer(), and X.