LLVM 22.0.0git
llvm::SPIRVInstrInfo Class Reference

#include "Target/SPIRV/SPIRVInstrInfo.h"

Inheritance diagram for llvm::SPIRVInstrInfo:
[legend]

Public Member Functions

 SPIRVInstrInfo (const SPIRVSubtarget &STI)
const SPIRVRegisterInfogetRegisterInfo () const
bool isHeaderInstr (const MachineInstr &MI) const
bool isConstantInstr (const MachineInstr &MI) const
bool isSpecConstantInstr (const MachineInstr &MI) const
bool isInlineAsmDefInstr (const MachineInstr &MI) const
bool isTypeDeclInstr (const MachineInstr &MI) const
bool isDecorationInstr (const MachineInstr &MI) const
bool isAliasingInstr (const MachineInstr &MI) const
bool canUseFastMathFlags (const MachineInstr &MI) const
bool canUseNSW (const MachineInstr &MI) const
bool canUseNUW (const MachineInstr &MI) const
bool analyzeBranch (MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB, SmallVectorImpl< MachineOperand > &Cond, bool AllowModify=false) const override
unsigned removeBranch (MachineBasicBlock &MBB, int *BytesRemoved=nullptr) const override
unsigned insertBranch (MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB, ArrayRef< MachineOperand > Cond, const DebugLoc &DL, int *BytesAdded=nullptr) const override
void copyPhysReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, const DebugLoc &DL, Register DestReg, Register SrcReg, bool KillSrc, bool RenamableDest=false, bool RenamableSrc=false) const override

Detailed Description

Definition at line 25 of file SPIRVInstrInfo.h.

Constructor & Destructor Documentation

◆ SPIRVInstrInfo()

SPIRVInstrInfo::SPIRVInstrInfo ( const SPIRVSubtarget & STI)
explicit

Definition at line 26 of file SPIRVInstrInfo.cpp.

Member Function Documentation

◆ analyzeBranch()

bool SPIRVInstrInfo::analyzeBranch ( MachineBasicBlock & MBB,
MachineBasicBlock *& TBB,
MachineBasicBlock *& FBB,
SmallVectorImpl< MachineOperand > & Cond,
bool AllowModify = false ) const
override

Definition at line 212 of file SPIRVInstrInfo.cpp.

References Cond, MBB, and TBB.

◆ canUseFastMathFlags()

bool SPIRVInstrInfo::canUseFastMathFlags ( const MachineInstr & MI) const

Definition at line 135 of file SPIRVInstrInfo.cpp.

References MI.

◆ canUseNSW()

bool SPIRVInstrInfo::canUseNSW ( const MachineInstr & MI) const

Definition at line 154 of file SPIRVInstrInfo.cpp.

References MI.

◆ canUseNUW()

bool SPIRVInstrInfo::canUseNUW ( const MachineInstr & MI) const

Definition at line 171 of file SPIRVInstrInfo.cpp.

References MI.

◆ copyPhysReg()

void SPIRVInstrInfo::copyPhysReg ( MachineBasicBlock & MBB,
MachineBasicBlock::iterator I,
const DebugLoc & DL,
Register DestReg,
Register SrcReg,
bool KillSrc,
bool RenamableDest = false,
bool RenamableSrc = false ) const
override

Definition at line 273 of file SPIRVInstrInfo.cpp.

References assert(), DL, llvm::DstOp::getReg(), llvm::SrcOp::getReg(), I, MBB, and MRI.

◆ getRegisterInfo()

const SPIRVRegisterInfo & llvm::SPIRVInstrInfo::getRegisterInfo ( ) const
inline

Definition at line 31 of file SPIRVInstrInfo.h.

◆ insertBranch()

unsigned SPIRVInstrInfo::insertBranch ( MachineBasicBlock & MBB,
MachineBasicBlock * TBB,
MachineBasicBlock * FBB,
ArrayRef< MachineOperand > Cond,
const DebugLoc & DL,
int * BytesAdded = nullptr ) const
override

◆ isAliasingInstr()

bool SPIRVInstrInfo::isAliasingInstr ( const MachineInstr & MI) const

Definition at line 101 of file SPIRVInstrInfo.cpp.

References MI.

Referenced by isHeaderInstr().

◆ isConstantInstr()

bool SPIRVInstrInfo::isConstantInstr ( const MachineInstr & MI) const

Definition at line 29 of file SPIRVInstrInfo.cpp.

References MI.

Referenced by isHeaderInstr().

◆ isDecorationInstr()

bool SPIRVInstrInfo::isDecorationInstr ( const MachineInstr & MI) const

Definition at line 88 of file SPIRVInstrInfo.cpp.

References MI.

Referenced by isHeaderInstr().

◆ isHeaderInstr()

bool SPIRVInstrInfo::isHeaderInstr ( const MachineInstr & MI) const

◆ isInlineAsmDefInstr()

bool SPIRVInstrInfo::isInlineAsmDefInstr ( const MachineInstr & MI) const

Definition at line 67 of file SPIRVInstrInfo.cpp.

References MI.

◆ isSpecConstantInstr()

bool SPIRVInstrInfo::isSpecConstantInstr ( const MachineInstr & MI) const

Definition at line 53 of file SPIRVInstrInfo.cpp.

References MI.

◆ isTypeDeclInstr()

bool SPIRVInstrInfo::isTypeDeclInstr ( const MachineInstr & MI) const

Definition at line 77 of file SPIRVInstrInfo.cpp.

References MI, and MRI.

Referenced by isHeaderInstr().

◆ removeBranch()

unsigned SPIRVInstrInfo::removeBranch ( MachineBasicBlock & MBB,
int * BytesRemoved = nullptr ) const
override

Definition at line 235 of file SPIRVInstrInfo.cpp.

References I, and MBB.


The documentation for this class was generated from the following files: