Author: Dan Brown Date: 2026-06-18T13:54:04-07:00 New Revision: 729d7ab4810e7e9765880c93d268a84e79b73068
URL: https://github.com/llvm/llvm-project/commit/729d7ab4810e7e9765880c93d268a84e79b73068 DIFF: https://github.com/llvm/llvm-project/commit/729d7ab4810e7e9765880c93d268a84e79b73068.diff LOG: Warns that the WaveSize attribute is unsupported for the SPIR-V target. (#196004) Addresses #187188. Added: Modified: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/lib/Sema/SemaHLSL.cpp Removed: ################################################################################ diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td index f84cd8dca6d4c..f7fba8df1e4d7 100644 --- a/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -13764,6 +13764,10 @@ def warn_attr_min_eq_max: Warning< def err_hlsl_attribute_number_arguments_insufficient_shader_model: Error< "attribute %0 with %1 arguments requires shader model %2 or greater">; +def warn_hlsl_wavesize_unsupported_spirv : Warning< + "attribute 'WaveSize' is not supported for the SPIR-V target; " + "consider using VK_EXT_subgroup_size_control">, + InGroup<HLSLAttributeStatement>; def err_hlsl_expect_arg_const_int_one_or_neg_one: Error< "argument %0 must be constant integer 1 or -1">; def err_invalid_hlsl_resource_type: Error< diff --git a/clang/lib/Sema/SemaHLSL.cpp b/clang/lib/Sema/SemaHLSL.cpp index 8a409e7f884c4..075dc97b0aef2 100644 --- a/clang/lib/Sema/SemaHLSL.cpp +++ b/clang/lib/Sema/SemaHLSL.cpp @@ -1024,7 +1024,9 @@ void SemaHLSL::CheckEntryPoint(FunctionDecl *FD) { FD->setInvalidDecl(); } if (const auto *WS = FD->getAttr<HLSLWaveSizeAttr>()) { - if (Ver < VersionTuple(6, 6)) { + if (TargetInfo.getTriple().isSPIRV()) { + Diag(WS->getLocation(), diag::warn_hlsl_wavesize_unsupported_spirv); + } else if (Ver < VersionTuple(6, 6)) { Diag(WS->getLocation(), diag::err_hlsl_attribute_in_wrong_shader_model) << WS << "6.6"; FD->setInvalidDecl(); _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
