diff options
author | Nathan Gauër <brioche@google.com> | 2025-06-12 18:13:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-06-12 18:13:29 +0200 |
commit | ef1cb8277ac3cb34ce9700a313ed60410dd9f84b (patch) | |
tree | ca32363fbf026ad1ad389e1c8a7a3f030b31b7ec /llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | |
parent | 882b58a90ae0c4a91e1ecda6df3767b0fc44dab1 (diff) | |
download | llvm-ef1cb8277ac3cb34ce9700a313ed60410dd9f84b.zip llvm-ef1cb8277ac3cb34ce9700a313ed60410dd9f84b.tar.gz llvm-ef1cb8277ac3cb34ce9700a313ed60410dd9f84b.tar.bz2 |
[SPIR-V] Fix ExecutionMode generation (#143888)
PR #141787 added code to emit the Fragment execution model. This
required emitting the OriginUpperLeft ExecutionMode. But this was done
by using the same codepath used for OpEntrypoint.
This has 2 issues:
- the interface variables were added to both OpEntryPoint and
OpExecutionMode.
- the existing OpExecutionMode logic was not used.
This commit fixes this, regrouping OpExecutionMode handling in one
place, and fixing bad codegen issue when interface variiables are added.
Diffstat (limited to 'llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp')
-rw-r--r-- | llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp index 2ddd028..b71a9dd 100644 --- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp +++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp @@ -595,8 +595,6 @@ void SPIRVModuleAnalysis::processOtherInstrs(const Module &M) { collectOtherInstr(MI, MAI, SPIRV::MB_DebugNames, IS); } else if (OpCode == SPIRV::OpEntryPoint) { collectOtherInstr(MI, MAI, SPIRV::MB_EntryPoints, IS); - } else if (OpCode == SPIRV::OpExecutionMode) { - collectOtherInstr(MI, MAI, SPIRV::MB_EntryPoints, IS); } else if (TII->isAliasingInstr(MI)) { collectOtherInstr(MI, MAI, SPIRV::MB_AliasingInsts, IS); } else if (TII->isDecorationInstr(MI)) { |