15 #ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUHSAMETADATASTREAMER_H 16 #define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUHSAMETADATASTREAMER_H 26 class AMDGPUTargetStreamer;
46 virtual void end() = 0;
54 std::shared_ptr<msgpack::Node> HSAMetadataRoot =
55 std::make_shared<msgpack::MapNode>();
72 std::shared_ptr<msgpack::ArrayNode>
75 std::shared_ptr<msgpack::MapNode>
98 void emitHiddenKernelArgs(
const Function &Func,
unsigned &Offset,
101 std::shared_ptr<msgpack::Node> &getRootMetadata(
StringRef Key) {
102 return (*cast<msgpack::MapNode>(HSAMetadataRoot.get()))[
Key];
105 std::shared_ptr<msgpack::Node> &getHSAMetadataRoot() {
106 return HSAMetadataRoot;
142 std::vector<uint32_t> getWorkGroupDimensions(
MDNode *
Node)
const;
155 void emitKernelLanguage(
const Function &Func);
157 void emitKernelAttrs(
const Function &Func);
159 void emitKernelArgs(
const Function &Func);
169 void emitHiddenKernelArgs(
const Function &Func);
171 const Metadata &getHSAMetadata()
const {
193 #endif // LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUHSAMETADATASTREAMER_H
A parsed version of the target data layout string in and methods for querying it. ...
Type
MessagePack types as defined in the standard, with the exception of Integer being divided into a sign...
This class represents an incoming formal argument to a Function.
This class represents lattice values for constants.
A Module instance is used to store all the information related to an LLVM module. ...
amdgpu Simplify well known AMD library false FunctionCallee Value const Twine & Name
constexpr char PointeeAlign[]
Key for Kernel::Arg::Metadata::mPointeeAlign.
StringRef getTypeName()
We provide a function which tries to compute the (demangled) name of a type statically.
Track resource usage for kernels / entry functions.
This is a data structure for representing MessagePack "documents", with methods to go to and from Mes...
void dump(const SparseBitVector< ElementSize > &LHS, raw_ostream &out)
The instances of the Type class are immutable: once they are created, they are never changed...
constexpr char TypeName[]
Key for Kernel::Arg::Metadata::mTypeName.
amdgpu Simplify well known AMD library false FunctionCallee Value * Arg
bool verify(const TargetRegisterInfo &TRI) const
Check that information hold by this instance make sense for the given TRI.
AccessQualifier
Access qualifiers.
The access may modify the value stored in memory.
AddressSpaceQualifier
Address space qualifiers.
constexpr char AccQual[]
Key for Kernel::Arg::Metadata::mAccQual.
StringRef - Represent a constant reference to a string, i.e.
constexpr char Args[]
Key for Kernel::Metadata::mArgs.