LLVM 22.0.0git
Utility.h File Reference
#include "llvm/Support/Compiler.h"
#include <cstdint>
#include <memory>
#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::EntryTy
 This is the record of an object that just be registered with the offloading runtime. More...
 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
namespace  llvm::offloading::intel

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

LLVM_ABI 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.
LLVM_ABI void llvm::offloading::emitOffloadingEntry (Module &M, object::OffloadKind Kind, Constant *Addr, StringRef Name, uint64_t Size, uint32_t Flags, uint64_t Data, Constant *AuxAddr=nullptr, StringRef SectionName="llvm_offload_entries")
 Create an offloading section struct used to register this global at runtime.
LLVM_ABI std::pair< Constant *, GlobalVariable * > llvm::offloading::getOffloadingEntryInitializer (Module &M, object::OffloadKind Kind, Constant *Addr, StringRef Name, uint64_t Size, uint32_t Flags, uint64_t Data, Constant *AuxAddr)
 Create a constant struct initializer used to register this global at runtime.
LLVM_ABI std::pair< GlobalVariable *, GlobalVariable * > llvm::offloading::getOffloadEntryArray (Module &M, StringRef SectionName="llvm_offload_entries")
 Creates a pair of globals used to iterate the array of offloading entries by accessing the section variables provided by the linker.
LLVM_ABI bool llvm::offloading::amdgpu::isImageCompatibleWithEnv (StringRef ImageArch, uint32_t ImageFlags, StringRef EnvTargetID)
 Check if an image is compatible with current system's environment.
LLVM_ABI 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.
LLVM_ABI Error llvm::offloading::intel::containerizeOpenMPSPIRVImage (std::unique_ptr< MemoryBuffer > &Binary)
 Containerizes an offloading binary into the ELF binary format expected by the Intel runtime offload plugin.