LLVM 19.0.0git
Public Member Functions | List of all members
llvm::SPIRVInstrInfo Class Reference

#include "Target/SPIRV/SPIRVInstrInfo.h"

Inheritance diagram for llvm::SPIRVInstrInfo:
Inheritance graph
[legend]

Public Member Functions

 SPIRVInstrInfo ()
 
const SPIRVRegisterInfogetRegisterInfo () const
 
bool isHeaderInstr (const MachineInstr &MI) const
 
bool isConstantInstr (const MachineInstr &MI) const
 
bool isTypeDeclInstr (const MachineInstr &MI) const
 
bool isDecorationInstr (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, MCRegister DestReg, MCRegister SrcReg, bool KillSrc) const override
 
bool expandPostRAPseudo (MachineInstr &MI) const override
 

Detailed Description

Definition at line 24 of file SPIRVInstrInfo.h.

Constructor & Destructor Documentation

◆ SPIRVInstrInfo()

SPIRVInstrInfo::SPIRVInstrInfo ( )

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

◆ canUseFastMathFlags()

bool SPIRVInstrInfo::canUseFastMathFlags ( const MachineInstr MI) const

Definition at line 95 of file SPIRVInstrInfo.cpp.

References MI.

◆ canUseNSW()

bool SPIRVInstrInfo::canUseNSW ( const MachineInstr MI) const

Definition at line 114 of file SPIRVInstrInfo.cpp.

References MI.

◆ canUseNUW()

bool SPIRVInstrInfo::canUseNUW ( const MachineInstr MI) const

Definition at line 131 of file SPIRVInstrInfo.cpp.

References MI.

◆ copyPhysReg()

void SPIRVInstrInfo::copyPhysReg ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  I,
const DebugLoc DL,
MCRegister  DestReg,
MCRegister  SrcReg,
bool  KillSrc 
) const
override

Definition at line 231 of file SPIRVInstrInfo.cpp.

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

◆ expandPostRAPseudo()

bool SPIRVInstrInfo::expandPostRAPseudo ( MachineInstr MI) const
override

Definition at line 248 of file SPIRVInstrInfo.cpp.

References MI, and MRI.

◆ getRegisterInfo()

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

Definition at line 30 of file SPIRVInstrInfo.h.

Referenced by llvm::SPIRVSubtarget::getRegisterInfo().

◆ insertBranch()

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

Definition at line 223 of file SPIRVInstrInfo.cpp.

References llvm::report_fatal_error().

◆ isConstantInstr()

bool SPIRVInstrInfo::isConstantInstr ( const MachineInstr MI) const

Definition at line 28 of file SPIRVInstrInfo.cpp.

References MI.

Referenced by isHeaderInstr().

◆ isDecorationInstr()

bool SPIRVInstrInfo::isDecorationInstr ( const MachineInstr MI) const

Definition at line 60 of file SPIRVInstrInfo.cpp.

References MI.

Referenced by isHeaderInstr().

◆ isHeaderInstr()

bool SPIRVInstrInfo::isHeaderInstr ( const MachineInstr MI) const

Definition at line 73 of file SPIRVInstrInfo.cpp.

References isConstantInstr(), isDecorationInstr(), isTypeDeclInstr(), and MI.

◆ isTypeDeclInstr()

bool SPIRVInstrInfo::isTypeDeclInstr ( const MachineInstr MI) const

Definition at line 50 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 204 of file SPIRVInstrInfo.cpp.

References llvm::report_fatal_error().


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