LLVM: lib/Target/SPIRV/SPIRVInstrInfo.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_LIB_TARGET_SPIRV_SPIRVINSTRINFO_H

14#define LLVM_LIB_TARGET_SPIRV_SPIRVINSTRINFO_H

15

18

19#define GET_INSTRINFO_HEADER

20#include "SPIRVGenInstrInfo.inc"

21

22namespace llvm {

23class SPIRVSubtarget;

24

27

28public:

30

40 bool KHRFloatControls2) const;

43

47 bool AllowModify = false) const override;

48

50 int *BytesRemoved = nullptr) const override;

51

55 int *BytesAdded = nullptr) const override;

58 bool KillSrc, bool RenamableDest = false,

59 bool RenamableSrc = false) const override;

60};

61

69}

70

71}

72

73#endif

MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL

const SmallVectorImpl< MachineOperand > MachineBasicBlock * TBB

const SmallVectorImpl< MachineOperand > & Cond

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

MachineInstrBundleIterator< MachineInstr > iterator

Representation of each machine instruction.

Wrapper class representing virtual and physical registers.

bool isConstantInstr(const MachineInstr &MI) const

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

bool isInlineAsmDefInstr(const MachineInstr &MI) const

SPIRVInstrInfo(const SPIRVSubtarget &STI)

bool isTypeDeclInstr(const MachineInstr &MI) const

bool isDecorationInstr(const MachineInstr &MI) const

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

bool isAliasingInstr(const MachineInstr &MI) const

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

bool canUseFastMathFlags(const MachineInstr &MI, bool KHRFloatControls2) const

bool isHeaderInstr(const MachineInstr &MI) const

bool canUseNUW(const MachineInstr &MI) const

const SPIRVRegisterInfo & getRegisterInfo() const

Definition SPIRVInstrInfo.h:31

bool isSpecConstantInstr(const MachineInstr &MI) const

bool canUseNSW(const MachineInstr &MI) const

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

This class consists of common code factored out of the SmallVector class to reduce code duplication b...

AsmComments

Definition SPIRVInstrInfo.h:63

@ ASM_PRINTER_WIDTH16

Definition SPIRVInstrInfo.h:65

@ ASM_PRINTER_WIDTH64

Definition SPIRVInstrInfo.h:67

This is an optimization pass for GlobalISel generic memory operations.