LLVM 22.0.0git
|
#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 | 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 |
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 StructType * | llvm::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. |