|
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 GlobalVariable * | 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. | |