[all-commits] [llvm/llvm-project] 6ac40a: [HLSL] Add support for the HLSL matrix type (#159446)

Farzon Lotfi via All-commits all-commits at lists.llvm.org
Tue Sep 23 10:02:39 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6ac40aaaf69b710b10873b82593d4315a0838726
      https://github.com/llvm/llvm-project/commit/6ac40aaaf69b710b10873b82593d4315a0838726
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-09-23 (Tue, 23 Sep 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Sema/HLSLExternalSemaSource.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Headers/hlsl/hlsl_basic_types.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/AST/HLSL/matrix-alias.hlsl
    A clang/test/CodeGenHLSL/builtins/transpose-builtin.hlsl
    A clang/test/SemaHLSL/BuiltIns/matrix-basic_types-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/matrix-errors.hlsl

  Log Message:
  -----------
  [HLSL] Add support for the HLSL matrix type (#159446)

fixes #109839

This change is really simple. It creates a matrix alias that will let
HLSL use the existing clang `matrix_type` infra.

The only additional change was to add explict alias for the typed
dimensions of 1-4 inclusive matricies available in HLSL.

Testing therefore is limited to exercising the alias, sema errors, and
basic codegen.
future work will add things like constructors and accessors.

The main difference in this attempt is the type printer and less of an
emphasis on tests where things overlap with existing `matrix_type`
testing like cast behavior.



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