Go to the documentation of this file.
13 #ifndef LLVM_LIB_TARGET_SPIRV_SPIRVUTILS_H
14 #define LLVM_LIB_TARGET_SPIRV_SPIRVUTILS_H
22 class MachineFunction;
24 class MachineInstrBuilder;
25 class MachineIRBuilder;
26 class MachineRegisterInfo;
37 std::vector<llvm::Value *> &
Args);
53 const std::vector<uint32_t> &DecArgs,
58 const std::vector<uint32_t> &DecArgs,
83 #endif // LLVM_LIB_TARGET_SPIRV_SPIRVUTILS_H
llvm::SPIRV::MemorySemantics getMemSemanticsForStorageClass(llvm::SPIRV::StorageClass SC)
This is an optimization pass for GlobalISel generic memory operations.
void addNumImm(const llvm::APInt &Imm, llvm::MachineInstrBuilder &MIB)
MachineRegisterInfo - Keep track of information for virtual and physical registers,...
llvm::MachineInstr * getDefInstrMaybeConstant(llvm::Register &ConstReg, const llvm::MachineRegisterInfo *MRI)
Reg
All possible values of the reg field in the ModR/M byte.
The instances of the Type class are immutable: once they are created, they are never changed.
unsigned storageClassToAddressSpace(llvm::SPIRV::StorageClass SC)
void addStringImm(const llvm::StringRef &Str, llvm::MachineInstrBuilder &MIB)
@ SC
CHAIN = SC CHAIN, Imm128 - System call.
const HexagonInstrInfo * TII
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
llvm::SPIRV::StorageClass addressSpaceToStorageClass(unsigned AddrSpace)
Promote Memory to Register
Helper class to build MachineInstr.
std::string getStringImm(const llvm::MachineInstr &MI, unsigned StartIndex)
Representation of each machine instruction.
Class for arbitrary precision integers.
void buildOpDecorate(llvm::Register Reg, llvm::MachineIRBuilder &MIRBuilder, llvm::SPIRV::Decoration Dec, const std::vector< uint32_t > &DecArgs, llvm::StringRef StrImm="")
StringRef - Represent a constant reference to a string, i.e.
unsigned const MachineRegisterInfo * MRI
Wrapper class representing virtual and physical registers.
void buildOpName(llvm::Register Target, const llvm::StringRef &Name, llvm::MachineIRBuilder &MIRBuilder)
llvm::Type * getMDOperandAsType(const llvm::MDNode *N, unsigned I)
constexpr char Args[]
Key for Kernel::Metadata::mArgs.
uint64_t getIConstVal(llvm::Register ConstReg, const llvm::MachineRegisterInfo *MRI)