LLVM 20.0.0git
Classes | Namespaces | Enumerations | Functions
Utility.h File Reference
#include <cstdint>
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/IR/Module.h"
#include "llvm/Object/OffloadBinary.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/MemoryBufferRef.h"

Go to the source code of this file.

Classes

struct  llvm::offloading::amdgpu::AMDGPUKernelMetaData
 Struct for holding metadata related to AMDGPU kernels, for more information about the metadata and its meaning see: https://llvm.org/docs/AMDGPUUsage.html#code-object-v3. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::offloading
 
namespace  llvm::offloading::amdgpu
 

Enumerations

enum  llvm::offloading::OffloadEntryKindFlag : uint32_t {
  llvm::offloading::OffloadGlobalEntry = 0x0 , llvm::offloading::OffloadGlobalManagedEntry = 0x1 , llvm::offloading::OffloadGlobalSurfaceEntry = 0x2 , llvm::offloading::OffloadGlobalTextureEntry = 0x3 ,
  llvm::offloading::OffloadGlobalExtern = 0x1 << 3 , llvm::offloading::OffloadGlobalConstant = 0x1 << 4 , llvm::offloading::OffloadGlobalNormalized = 0x1 << 5
}
 Offloading entry flags for CUDA / HIP. More...
 

Functions

StructTypellvm::offloading::getEntryTy (Module &M)
 Returns the type of the offloading entry we use to store kernels and globals that will be registered with the offloading runtime.
 
void llvm::offloading::emitOffloadingEntry (Module &M, Constant *Addr, StringRef Name, uint64_t Size, int32_t Flags, int32_t Data, StringRef SectionName)
 Create an offloading section struct used to register this global at runtime.
 
std::pair< Constant *, GlobalVariable * > llvm::offloading::getOffloadingEntryInitializer (Module &M, Constant *Addr, StringRef Name, uint64_t Size, int32_t Flags, int32_t Data)
 Create a constant struct initializer used to register this global at runtime.
 
std::pair< GlobalVariable *, GlobalVariable * > llvm::offloading::getOffloadEntryArray (Module &M, StringRef SectionName)
 Creates a pair of globals used to iterate the array of offloading entries by accessing the section variables provided by the linker.
 
bool llvm::offloading::amdgpu::isImageCompatibleWithEnv (StringRef ImageArch, uint32_t ImageFlags, StringRef EnvTargetID)
 Check if an image is compatible with current system's environment.
 
Error llvm::offloading::amdgpu::getAMDGPUMetaDataFromImage (MemoryBufferRef MemBuffer, StringMap< AMDGPUKernelMetaData > &KernelInfoMap, uint16_t &ELFABIVersion)
 Reads AMDGPU specific metadata from the ELF file and propagates the KernelInfoMap.