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.