[all-commits] [llvm/llvm-project] e43cef: [SPIRV][SPIRVPrepareGlobals] Add pass skeleton

Juan Manuel Martinez Caamaño via All-commits all-commits at lists.llvm.org
Mon Nov 10 04:17:27 PST 2025


  Branch: refs/heads/users/jmmartinez/spirv/amd_embed_bitcode_module
  Home:   https://github.com/llvm/llvm-project
  Commit: e43cefcf8641d0fbb6fd33948e1cd2f7748d95de
      https://github.com/llvm/llvm-project/commit/e43cefcf8641d0fbb6fd33948e1cd2f7748d95de
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-11-10 (Mon, 10 Nov 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRV.h
    A llvm/lib/Target/SPIRV/SPIRVPrepareGlobals.cpp
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    M llvm/test/CodeGen/SPIRV/llc-pipeline.ll

  Log Message:
  -----------
  [SPIRV][SPIRVPrepareGlobals] Add pass skeleton

Add a pass where we can do IR->IR preprocessing of global-variables.


  Commit: eb7f3404fa31441460e97833e12014508be9d936
      https://github.com/llvm/llvm-project/commit/eb7f3404fa31441460e97833e12014508be9d936
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-11-10 (Mon, 10 Nov 2025)

  Changed paths:
    A llvm/test/CodeGen/SPIRV/fembed-bitcode-marker.ll
    A llvm/test/CodeGen/SPIRV/fembed-bitcode.ll

  Log Message:
  -----------
  Pre-commit test: [SPIRV][SPIRVPrepareGlobals] tryExtendLLVMBitcodeMarker


  Commit: 5815524bd328eab02e806712ebbc8fdd087c2063
      https://github.com/llvm/llvm-project/commit/5815524bd328eab02e806712ebbc8fdd087c2063
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-11-10 (Mon, 10 Nov 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPrepareGlobals.cpp
    M llvm/test/CodeGen/SPIRV/fembed-bitcode-marker.ll

  Log Message:
  -----------
  [SPIRV][SPIRVPrepareGlobals] Convert llvm.embedded.module from a 0-element array to a 1-element array

When compiling with -fembed-bitcode-marker, Clang inserts a placeholder
for the bitcode. This placeholder is a [0 x i8] array, which we cannot
represent in SPIRV.

For AMD flavoured SPIRV, we extend the llvm.embedded.module global to a
zeroinitialized 1-element array.


Compare: https://github.com/llvm/llvm-project/compare/dc89347c8a22...5815524bd328

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list