LLVM 22.0.0git
VEInstrInfo.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "ve-instr-info"
#define GET_INSTRINFO_CTOR_DTOR
#define BRKIND(NAME)
#define BRKIND(NAME)
#define BRKIND(NAME)
#define INSTRKIND(NAME)
#define NCINSTRKIND(NAME)

Functions

static bool IsIntegerCC (unsigned CC)
static VECC::CondCode GetOppositeBranchCondition (VECC::CondCode CC)
static bool isUncondBranchOpcode (int Opc)
static bool isCondBranchOpcode (int Opc)
static bool isIndirectBranchOpcode (int Opc)
static void parseCondBranch (MachineInstr *LastInst, MachineBasicBlock *&Target, SmallVectorImpl< MachineOperand > &Cond)
static bool IsAliasOfSX (Register Reg)
static void copyPhysSubRegs (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, const DebugLoc &DL, MCRegister DestReg, MCRegister SrcReg, bool KillSrc, const MCInstrDesc &MCID, unsigned int NumSubRegs, const unsigned *SubRegIdx, const TargetRegisterInfo *TRI)
static Register getVM512Upper (Register reg)
static Register getVM512Lower (Register reg)
static void expandPseudoLogM (MachineInstr &MI, const MCInstrDesc &MCID)
static void addOperandsForVFMK (MachineInstrBuilder &MIB, MachineInstr &MI, bool Upper)
static void expandPseudoVFMK (const TargetInstrInfo &TI, MachineInstr &MI)

Macro Definition Documentation

◆ BRKIND [1/3]

#define BRKIND ( NAME)
Value:
(Opc == NAME##a || Opc == NAME##a_nt || Opc == NAME##a_t)

Referenced by isCondBranchOpcode(), isIndirectBranchOpcode(), and isUncondBranchOpcode().

◆ BRKIND [2/3]

#define BRKIND ( NAME)
Value:
(Opc == NAME##rr || Opc == NAME##rr_nt || Opc == NAME##rr_t || \
Opc == NAME##ir || Opc == NAME##ir_nt || Opc == NAME##ir_t)
verify safepoint ir

◆ BRKIND [3/3]

#define BRKIND ( NAME)
Value:
(Opc == NAME##ari || Opc == NAME##ari_nt || Opc == NAME##ari_t)

◆ DEBUG_TYPE

#define DEBUG_TYPE   "ve-instr-info"

Definition at line 27 of file VEInstrInfo.cpp.

◆ GET_INSTRINFO_CTOR_DTOR

#define GET_INSTRINFO_CTOR_DTOR

Definition at line 31 of file VEInstrInfo.cpp.

◆ INSTRKIND

#define INSTRKIND ( NAME)
Value:
case NAME##rr: \
NewUseOpcSImm7 = NAME##ri; \
NewUseOpcMImm = NAME##rm; \
InstType = rr2ri_rm; \
break

Referenced by llvm::VEInstrInfo::foldImmediate().

◆ NCINSTRKIND

#define NCINSTRKIND ( NAME)
Value:
case NAME##rr: \
NewUseOpcSImm7 = NAME##ir; \
NewUseOpcMImm = NAME##rm; \
InstType = rr2ir_rm; \
break

Referenced by llvm::VEInstrInfo::foldImmediate().

Function Documentation

◆ addOperandsForVFMK()

◆ copyPhysSubRegs()

◆ expandPseudoLogM()

◆ expandPseudoVFMK()

◆ GetOppositeBranchCondition()

◆ getVM512Lower()

Register getVM512Lower ( Register reg)
static

◆ getVM512Upper()

Register getVM512Upper ( Register reg)
static

◆ IsAliasOfSX()

bool IsAliasOfSX ( Register Reg)
static

Definition at line 320 of file VEInstrInfo.cpp.

References Reg.

Referenced by llvm::VEInstrInfo::copyPhysReg().

◆ isCondBranchOpcode()

bool isCondBranchOpcode ( int Opc)
static

Definition at line 111 of file VEInstrInfo.cpp.

References BRKIND, and Opc.

◆ isIndirectBranchOpcode()

bool isIndirectBranchOpcode ( int Opc)
static

Definition at line 123 of file VEInstrInfo.cpp.

References assert(), BRKIND, and Opc.

◆ IsIntegerCC()

bool IsIntegerCC ( unsigned CC)
static

Definition at line 40 of file VEInstrInfo.cpp.

References llvm::VECC::CC_AF.

Referenced by llvm::VEInstrInfo::insertBranch().

◆ isUncondBranchOpcode()

bool isUncondBranchOpcode ( int Opc)
static

Definition at line 96 of file VEInstrInfo.cpp.

References assert(), BRKIND, and Opc.

◆ parseCondBranch()