|
LLVM 22.0.0git
|
#include "MCTargetDesc/X86BaseInfo.h"#include "X86.h"#include "X86InstrInfo.h"#include "X86Subtarget.h"#include "llvm/ADT/StringRef.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineOperand.h"#include "llvm/MC/MCInstrDesc.h"#include "llvm/Pass.h"#include <atomic>#include <cassert>#include <cstdint>#include "X86GenInstrMapping.inc"Go to the source code of this file.
Macros | |
| #define | COMP_EVEX_DESC "Compressing EVEX instrs when possible" |
| #define | COMP_EVEX_NAME "x86-compress-evex" |
| #define | DEBUG_TYPE COMP_EVEX_NAME |
| #define | GET_X86_COMPRESS_EVEX_TABLE |
Functions | |
| static bool | usesExtendedRegister (const MachineInstr &MI) |
| static bool | performCustomAdjustments (MachineInstr &MI, unsigned NewOpc) |
| static bool | CompressEVEXImpl (MachineInstr &MI, MachineBasicBlock &MBB, const X86Subtarget &ST) |
Variables | |
| cl::opt< bool > | X86EnableAPXForRelocation |
| #define COMP_EVEX_DESC "Compressing EVEX instrs when possible" |
Definition at line 56 of file X86CompressEVEX.cpp.
| #define COMP_EVEX_NAME "x86-compress-evex" |
Definition at line 57 of file X86CompressEVEX.cpp.
| #define DEBUG_TYPE COMP_EVEX_NAME |
Definition at line 59 of file X86CompressEVEX.cpp.
| #define GET_X86_COMPRESS_EVEX_TABLE |
Definition at line 65 of file X86CompressEVEX.cpp.
|
static |
Definition at line 177 of file X86CompressEVEX.cpp.
References llvm::X86::AC_EVEX_2_EVEX, llvm::X86::AC_EVEX_2_LEGACY, llvm::X86::AC_EVEX_2_VEX, llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::ArrayRef(), assert(), llvm::BuildMI(), contains(), llvm::X86II::EncodingMask, llvm::ArrayRef< T >::end(), llvm::X86II::EVEX, llvm::X86II::EVEX_B, llvm::X86II::EVEX_K, llvm::X86II::EVEX_L2, llvm::X86II::EVEX_NF, llvm::X86::getFirstAddrOperandIdx(), llvm::X86::getNFVariant(), llvm::X86::getNonNDVariant(), llvm::MachineOperand::getReg(), llvm::getX86SubSuperRegister(), llvm::X86II::hasNewDataDest(), I, llvm::isAddMemInstrWithRelocation(), llvm::MachineOperand::isReg(), llvm::X86II::LEGACY, llvm_unreachable, llvm::lower_bound(), MBB, MI, Opc, performCustomAdjustments(), llvm::MCInstrDesc::TSFlags, usesExtendedRegister(), llvm::X86II::VEX, and X86EnableAPXForRelocation.
|
static |
Definition at line 117 of file X86CompressEVEX.cpp.
References assert(), MI, and Opc.
Referenced by CompressEVEXImpl().
|
static |
Definition at line 86 of file X86CompressEVEX.cpp.
References assert(), llvm::X86II::isApxExtendedReg(), llvm::X86II::isZMMReg(), MI, and Reg.
Referenced by CompressEVEXImpl().