[all-commits] [llvm/llvm-project] 57e184: [HLSL] Rewrite semantics parsing (#152537)

Nathan Gauër via All-commits all-commits at lists.llvm.org
Tue Sep 9 06:31:47 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 57e1846c96f0c858f687fe9c66f4e3793b52f497
      https://github.com/llvm/llvm-project/commit/57e1846c96f0c858f687fe9c66f4e3793b52f497
  Author: Nathan Gauër <brioche at google.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

  Changed paths:
    M clang/include/clang/AST/Attr.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/semantics/DispatchThreadID-noindex.hlsl
    A clang/test/CodeGenHLSL/semantics/SV_GroupID-noindex.hlsl
    A clang/test/CodeGenHLSL/semantics/SV_GroupThreadID-noindex.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_Position.ps.hlsl
    A clang/test/CodeGenHLSL/semantics/missing.hlsl
    M clang/test/ParserHLSL/semantic_parsing.hlsl
    A clang/test/ParserHLSL/semantic_parsing_define.hlsl
    M clang/test/SemaHLSL/Semantics/invalid_entry_parameter.hlsl
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [HLSL] Rewrite semantics parsing (#152537)

This is the first PR to implement the semantics proposal:
https://github.com/llvm/wg-hlsl/blob/main/proposals/0031-semantics.md

This PR focuses on the changes required to handle user semantics, but
tried to be almost NFC.
What changes is the error messages as the semantics case is not kept
when reporting error messages.

You might notice the SV_GroupIndex semantic is not properly validated as
are others. This is an existing behavior that we'll need to fix, but
wanted to keep this separated from this rewrite to stay as-close as an
NFC as possible.

The next PR will add support on the different kinds of I/O we can have
using semantics (input, inout param, structs).



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