diff options
| author | Lucie Choi <ychoi0407@gmail.com> | 2025-10-17 04:12:56 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-17 13:12:56 +0200 |
| commit | a43c0cf77ff52c844a841bab00cd0b54063709ef (patch) | |
| tree | f63a2b004d6472d6236725266ed7fb1f0f8a6aab /llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | |
| parent | 1e7a23f82209471b393561b215dea170f87b8584 (diff) | |
[SPIR-V] Generate SPIR-V instructions when 'enable-maximal-reconvergence' function attribute is set (#163682)
Implement maximal reconvergence in SPIR-V codegen.
Addresses https://github.com/llvm/llvm-project/issues/136930
Diffstat (limited to 'llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp')
| -rw-r--r-- | llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp index 5144fb14fa6a..6760f5a2829d 100644 --- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp +++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp @@ -2155,6 +2155,9 @@ static void collectReqs(const Module &M, SPIRV::ModuleAnalysisInfo &MAI, SPIRV::OperandCategory::ExecutionModeOperand, SPIRV::ExecutionMode::LocalSize, ST); } + if (F.getFnAttribute("enable-maximal-reconvergence").getValueAsBool()) { + MAI.Reqs.addExtension(SPIRV::Extension::SPV_KHR_maximal_reconvergence); + } if (F.getMetadata("work_group_size_hint")) MAI.Reqs.getAndAddRequirements( SPIRV::OperandCategory::ExecutionModeOperand, |
