LLVM 19.0.0git
|
#include "MCTargetDesc/X86BaseInfo.h"
#include "MCTargetDesc/X86InstComments.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 "X86GenCompressEVEXTables.inc"
Go to the source code of this file.
Classes | |
struct | X86CompressEVEXTableEntry |
Macros | |
#define | COMP_EVEX_DESC "Compressing EVEX instrs when possible" |
#define | COMP_EVEX_NAME "x86-compress-evex" |
#define | DEBUG_TYPE COMP_EVEX_NAME |
Functions | |
static bool | usesExtendedRegister (const MachineInstr &MI) |
static bool | performCustomAdjustments (MachineInstr &MI, unsigned NewOpc) |
static bool | isRedundantNewDataDest (MachineInstr &MI, const X86Subtarget &ST) |
static bool | CompressEVEXImpl (MachineInstr &MI, const X86Subtarget &ST) |
#define COMP_EVEX_DESC "Compressing EVEX instrs when possible" |
Definition at line 68 of file X86CompressEVEX.cpp.
#define COMP_EVEX_NAME "x86-compress-evex" |
Definition at line 69 of file X86CompressEVEX.cpp.
#define DEBUG_TYPE COMP_EVEX_NAME |
Definition at line 71 of file X86CompressEVEX.cpp.
|
static |
Definition at line 207 of file X86CompressEVEX.cpp.
References llvm::X86::AC_EVEX_2_EVEX, llvm::X86::AC_EVEX_2_LEGACY, llvm::X86::AC_EVEX_2_VEX, assert(), 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::X86II::hasNewDataDest(), I, isRedundantNewDataDest(), llvm::X86II::LEGACY, llvm_unreachable, llvm::lower_bound(), MI, performCustomAdjustments(), llvm::MCInstrDesc::TSFlags, usesExtendedRegister(), and llvm::X86II::VEX.
|
static |
Definition at line 185 of file X86CompressEVEX.cpp.
References llvm::X86::getFirstAddrOperandIdx(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isReg(), and MI.
Referenced by CompressEVEXImpl().
|
static |
Definition at line 125 of file X86CompressEVEX.cpp.
Referenced by CompressEVEXImpl().
|
static |
Definition at line 94 of file X86CompressEVEX.cpp.
References assert(), llvm::X86II::isApxExtendedReg(), llvm::X86II::isZMMReg(), and MI.
Referenced by CompressEVEXImpl().