diff options
| author | Juan Manuel Martinez CaamaƱo <jmartinezcaamao@gmail.com> | 2025-11-12 09:47:26 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-12 08:47:26 +0000 |
| commit | d23d8abf1fa6d5e424d4b6ed0f2a20214b199cd4 (patch) | |
| tree | 97de7d8fa739afd832f3f0aeb7f0900362ac060b /lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h | |
| parent | fe8865c468b65f54db63d2ec2c95b775246040db (diff) | |
[SPIRV][SPIRVPrepareGlobals] Convert llvm.embedded.module from a 0-element array to a 1-element array (#166950)
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 flavored SPIRV, we extend the `llvm.embedded.module` global to a
`zeroinitializer [1 x i8]` array.
To achieve this, this patch adds a new pass, `SPIRVPrepareGlobals`, that
we can use to write global variable's _non-trivial-to-lower-IR_ ->
_trivial-to-lower-IR_ mappings.
This is a second attempt at
https://github.com/llvm/llvm-project/pull/162082, but cleaner.
In the translator something similar is done for every 0-element array
since https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/2743 .
But I don't think we want to do this mapping for all cases.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h')
0 files changed, 0 insertions, 0 deletions
