[llvm] 424d5a7 - [OFFLOAD] Fix a platform selection issue for llvm-gpu-loader (#212893)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 30 05:29:46 PDT 2026


Author: fineg74
Date: 2026-07-30T07:29:41-05:00
New Revision: 424d5a7cb36fb4770f4436762b636ded1e035bb0

URL: https://github.com/llvm/llvm-project/commit/424d5a7cb36fb4770f4436762b636ded1e035bb0
DIFF: https://github.com/llvm/llvm-project/commit/424d5a7cb36fb4770f4436762b636ded1e035bb0.diff

LOG: [OFFLOAD] Fix a platform selection issue for llvm-gpu-loader (#212893)

Currently if an image supplied to llvm-gpu-loader is not properly
detected by its platform detection logic it does not accept it for
execution. The example could be a spirv or bitcode format. This fix
allows it to rely on devices to device if an image will be accepted and
uses its existing platform detection logic as an optimization only

Added: 
    

Modified: 
    llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp b/llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
index 2cd2cfaeebb6b..2747757e1c200 100644
--- a/llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
+++ b/llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
@@ -206,7 +206,7 @@ int main(int argc, const char **argv, const char **envp) {
     handleError(errorCodeToError(EC));
   MemoryBufferRef Image = **ImageOrErr;
 
-  ol_platform_backend_t Backend;
+  ol_platform_backend_t Backend = OL_PLATFORM_BACKEND_UNKNOWN;
   ol_init_args_t InitArgs = OL_INIT_ARGS_INIT;
 
   file_magic Magic = identify_magic(Image.getBuffer());
@@ -229,6 +229,9 @@ int main(int argc, const char **argv, const char **envp) {
           ELF::convertEMachineToArchName(ElfOrErr->getHeader().e_machine)
               .data()));
     }
+  }
+
+  if (Backend != OL_PLATFORM_BACKEND_UNKNOWN) {
     InitArgs.NumPlatforms = 1;
     InitArgs.Platforms = &Backend;
   }


        


More information about the llvm-commits mailing list