LLVM 19.0.0git
Classes | Macros | Functions
X86CompressEVEX.cpp File Reference
#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)
 

Macro Definition Documentation

◆ COMP_EVEX_DESC

#define COMP_EVEX_DESC   "Compressing EVEX instrs when possible"

Definition at line 68 of file X86CompressEVEX.cpp.

◆ COMP_EVEX_NAME

#define COMP_EVEX_NAME   "x86-compress-evex"

Definition at line 69 of file X86CompressEVEX.cpp.

◆ DEBUG_TYPE

#define DEBUG_TYPE   COMP_EVEX_NAME

Definition at line 71 of file X86CompressEVEX.cpp.

Function Documentation

◆ CompressEVEXImpl()

static bool CompressEVEXImpl ( MachineInstr MI,
const X86Subtarget ST 
)
static

◆ isRedundantNewDataDest()

static bool isRedundantNewDataDest ( MachineInstr MI,
const X86Subtarget ST 
)
static

◆ performCustomAdjustments()

static bool performCustomAdjustments ( MachineInstr MI,
unsigned  NewOpc 
)
static

Definition at line 125 of file X86CompressEVEX.cpp.

References assert(), and MI.

Referenced by CompressEVEXImpl().

◆ usesExtendedRegister()

static bool usesExtendedRegister ( const MachineInstr MI)
static

Definition at line 94 of file X86CompressEVEX.cpp.

References assert(), llvm::X86II::isApxExtendedReg(), llvm::X86II::isZMMReg(), and MI.

Referenced by CompressEVEXImpl().