LLVM 20.0.0git
Classes | Namespaces | Macros | Enumerations
PPCInstrInfo.h File Reference
#include "MCTargetDesc/PPCMCTargetDesc.h"
#include "PPC.h"
#include "PPCRegisterInfo.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/CodeGen/LiveVariables.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "PPCGenInstrInfo.inc"

Go to the source code of this file.

Classes

struct  llvm::ImmInstrInfo
 
struct  llvm::LoadImmediateInfo
 
class  llvm::PPCInstrInfo
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Macros

#define GET_INSTRINFO_HEADER
 
#define NoInstr   PPC::INSTRUCTION_LIST_END
 
#define Pwr8LoadOpcodes
 
#define Pwr9LoadOpcodes
 
#define Pwr10LoadOpcodes
 
#define FutureLoadOpcodes
 
#define Pwr8StoreOpcodes
 
#define Pwr9StoreOpcodes
 
#define Pwr10StoreOpcodes
 
#define FutureStoreOpcodes
 
#define StoreOpcodesForSpill    { Pwr8StoreOpcodes, Pwr9StoreOpcodes, Pwr10StoreOpcodes, FutureStoreOpcodes }
 
#define LoadOpcodesForSpill    { Pwr8LoadOpcodes, Pwr9LoadOpcodes, Pwr10LoadOpcodes, FutureLoadOpcodes }
 

Enumerations

enum  llvm::SpillOpcodeKey {
  llvm::SOK_Int4Spill , llvm::SOK_Int8Spill , llvm::SOK_Float8Spill , llvm::SOK_Float4Spill ,
  llvm::SOK_CRSpill , llvm::SOK_CRBitSpill , llvm::SOK_VRVectorSpill , llvm::SOK_VSXVectorSpill ,
  llvm::SOK_VectorFloat8Spill , llvm::SOK_VectorFloat4Spill , llvm::SOK_SpillToVSR , llvm::SOK_PairedVecSpill ,
  llvm::SOK_AccumulatorSpill , llvm::SOK_UAccumulatorSpill , llvm::SOK_WAccumulatorSpill , llvm::SOK_SPESpill ,
  llvm::SOK_PairedG8Spill , llvm::SOK_LastOpcodeSpill
}
 
enum  llvm::PPCMachineCombinerPattern : unsigned { llvm::REASSOC_XY_AMM_BMM = MachineCombinerPattern::TARGET_PATTERN_START , llvm::REASSOC_XMM_AMM_BMM , llvm::REASSOC_XY_BCA , llvm::REASSOC_XY_BAC }
 

Macro Definition Documentation

◆ FutureLoadOpcodes

#define FutureLoadOpcodes
Value:
{ \
PPC::LWZ, PPC::LD, PPC::LFD, PPC::LFS, PPC::RESTORE_CR, \
PPC::RESTORE_CRBIT, PPC::LVX, PPC::LXV, PPC::DFLOADf64, \
PPC::DFLOADf32, PPC::SPILLTOVSR_LD, PPC::LXVP, PPC::RESTORE_ACC, \
PPC::RESTORE_UACC, PPC::RESTORE_WACC, NoInstr, PPC::RESTORE_QUADWORD \
}
#define NoInstr
Definition: PPCInstrInfo.h:103

Definition at line 128 of file PPCInstrInfo.h.

◆ FutureStoreOpcodes

#define FutureStoreOpcodes
Value:
{ \
PPC::STW, PPC::STD, PPC::STFD, PPC::STFS, PPC::SPILL_CR, PPC::SPILL_CRBIT, \
PPC::STVX, PPC::STXV, PPC::DFSTOREf64, PPC::DFSTOREf32, \
PPC::SPILLTOVSR_ST, PPC::STXVP, PPC::SPILL_ACC, PPC::SPILL_UACC, \
PPC::SPILL_WACC, NoInstr, PPC::SPILL_QUADWORD \
}

Definition at line 160 of file PPCInstrInfo.h.

◆ GET_INSTRINFO_HEADER

#define GET_INSTRINFO_HEADER

Definition at line 23 of file PPCInstrInfo.h.

◆ LoadOpcodesForSpill

#define LoadOpcodesForSpill    { Pwr8LoadOpcodes, Pwr9LoadOpcodes, Pwr10LoadOpcodes, FutureLoadOpcodes }

Definition at line 171 of file PPCInstrInfo.h.

◆ NoInstr

#define NoInstr   PPC::INSTRUCTION_LIST_END

Definition at line 103 of file PPCInstrInfo.h.

◆ Pwr10LoadOpcodes

#define Pwr10LoadOpcodes
Value:
{ \
PPC::LWZ, PPC::LD, PPC::LFD, PPC::LFS, PPC::RESTORE_CR, \
PPC::RESTORE_CRBIT, PPC::LVX, PPC::LXV, PPC::DFLOADf64, \
PPC::DFLOADf32, PPC::SPILLTOVSR_LD, PPC::LXVP, PPC::RESTORE_ACC, \
PPC::RESTORE_UACC, NoInstr, NoInstr, PPC::RESTORE_QUADWORD \
}

Definition at line 120 of file PPCInstrInfo.h.

◆ Pwr10StoreOpcodes

#define Pwr10StoreOpcodes
Value:
{ \
PPC::STW, PPC::STD, PPC::STFD, PPC::STFS, PPC::SPILL_CR, PPC::SPILL_CRBIT, \
PPC::STVX, PPC::STXV, PPC::DFSTOREf64, PPC::DFSTOREf32, \
PPC::SPILLTOVSR_ST, PPC::STXVP, PPC::SPILL_ACC, PPC::SPILL_UACC, \
NoInstr, NoInstr, PPC::SPILL_QUADWORD \
}

Definition at line 152 of file PPCInstrInfo.h.

◆ Pwr8LoadOpcodes

#define Pwr8LoadOpcodes
Value:
{ \
PPC::LWZ, PPC::LD, PPC::LFD, PPC::LFS, PPC::RESTORE_CR, \
PPC::RESTORE_CRBIT, PPC::LVX, PPC::LXVD2X, PPC::LXSDX, PPC::LXSSPX, \
PPC::SPILLTOVSR_LD, NoInstr, NoInstr, NoInstr, NoInstr, PPC::EVLDD, \
PPC::RESTORE_QUADWORD \
}

Definition at line 104 of file PPCInstrInfo.h.

◆ Pwr8StoreOpcodes

#define Pwr8StoreOpcodes
Value:
{ \
PPC::STW, PPC::STD, PPC::STFD, PPC::STFS, PPC::SPILL_CR, PPC::SPILL_CRBIT, \
PPC::STVX, PPC::STXVD2X, PPC::STXSDX, PPC::STXSSPX, \
PPC::SPILLTOVSR_ST, NoInstr, NoInstr, NoInstr, NoInstr, PPC::EVSTDD, \
PPC::SPILL_QUADWORD \
}

Definition at line 136 of file PPCInstrInfo.h.

◆ Pwr9LoadOpcodes

#define Pwr9LoadOpcodes
Value:
{ \
PPC::LWZ, PPC::LD, PPC::LFD, PPC::LFS, PPC::RESTORE_CR, \
PPC::RESTORE_CRBIT, PPC::LVX, PPC::LXV, PPC::DFLOADf64, \
PPC::DFLOADf32, PPC::SPILLTOVSR_LD, NoInstr, NoInstr, NoInstr, \
NoInstr, NoInstr, PPC::RESTORE_QUADWORD \
}

Definition at line 112 of file PPCInstrInfo.h.

◆ Pwr9StoreOpcodes

#define Pwr9StoreOpcodes
Value:
{ \
PPC::STW, PPC::STD, PPC::STFD, PPC::STFS, PPC::SPILL_CR, PPC::SPILL_CRBIT, \
PPC::STVX, PPC::STXV, PPC::DFSTOREf64, PPC::DFSTOREf32, \
PPC::SPILLTOVSR_ST, NoInstr, NoInstr, NoInstr, NoInstr, NoInstr, \
PPC::SPILL_QUADWORD \
}

Definition at line 144 of file PPCInstrInfo.h.

◆ StoreOpcodesForSpill

#define StoreOpcodesForSpill    { Pwr8StoreOpcodes, Pwr9StoreOpcodes, Pwr10StoreOpcodes, FutureStoreOpcodes }

Definition at line 169 of file PPCInstrInfo.h.