LLVM 20.0.0git
Macros | Functions | Variables
X86DomainReassignment.cpp File Reference
#include "X86.h"
#include "X86InstrInfo.h"
#include "X86Subtarget.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Printable.h"
#include <bitset>

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "x86-domain-reassignment"
 
#define GET_EGPR_IF_ENABLED(OPC)   STI->hasEGPR() ? OPC##_EVEX : OPC
 

Functions

 STATISTIC (NumClosuresConverted, "Number of closures converted by the pass")
 
static bool usedAsAddr (const MachineInstr &MI, Register Reg, const TargetInstrInfo *TII)
 
 INITIALIZE_PASS (X86DomainReassignment, "x86-domain-reassignment", "X86 Domain Reassignment Pass", false, false) FunctionPass *llvm
 Returns an instance of the Domain Reassignment pass.
 

Variables

static cl::opt< boolDisableX86DomainReassignment ("disable-x86-domain-reassignment", cl::Hidden, cl::desc("X86: Disable Virtual Register Reassignment."), cl::init(false))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "x86-domain-reassignment"

Definition at line 32 of file X86DomainReassignment.cpp.

◆ GET_EGPR_IF_ENABLED

#define GET_EGPR_IF_ENABLED (   OPC)    STI->hasEGPR() ? OPC##_EVEX : OPC

Function Documentation

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( X86DomainReassignment  ,
"x86-domain-reassignment"  ,
"X86 Domain Reassignment Pass"  ,
false  ,
false   
)

Returns an instance of the Domain Reassignment pass.

Definition at line 840 of file X86DomainReassignment.cpp.

◆ STATISTIC()

STATISTIC ( NumClosuresConverted  ,
"Number of closures converted by the pass"   
)

◆ usedAsAddr()

static bool usedAsAddr ( const MachineInstr MI,
Register  Reg,
const TargetInstrInfo TII 
)
static
Returns
true when Reg is used as part of an address calculation in MI.

Definition at line 526 of file X86DomainReassignment.cpp.

References llvm::X86::AddrNumOperands, llvm::X86II::getMemoryOperandNo(), llvm::X86II::getOperandBias(), MI, and TII.

Variable Documentation

◆ DisableX86DomainReassignment

cl::opt< bool > DisableX86DomainReassignment("disable-x86-domain-reassignment", cl::Hidden, cl::desc("X86: Disable Virtual Register Reassignment."), cl::init(false)) ( "disable-x86-domain-reassignment"  ,
cl::Hidden  ,
cl::desc("X86: Disable Virtual Register Reassignment.")  ,
cl::init(false)   
)
static