[all-commits] [llvm/llvm-project] 19af85: [HLSL] Constant Buffers CodeGen (#124886)

Helena Kotas via All-commits all-commits at lists.llvm.org
Thu Feb 20 10:32:37 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 19af8581d51b8144f6d041ae1d948443084d8d0b
      https://github.com/llvm/llvm-project/commit/19af8581d51b8144f6d041ae1d948443084d8d0b
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-02-20 (Thu, 20 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CMakeLists.txt
    A clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
    A clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/DirectX.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    R clang/test/CodeGenHLSL/cbuf.hlsl
    R clang/test/CodeGenHLSL/cbuf_in_namespace.hlsl
    A clang/test/CodeGenHLSL/cbuffer.hlsl
    A clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
    A clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
    A clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
    R clang/test/CodeGenHLSL/static_global_and_function_in_cb.hlsl

  Log Message:
  -----------
  [HLSL] Constant Buffers CodeGen (#124886)

Translates `cbuffer` declaration blocks to `target("dx.CBuffer")` type. Creates global variables in `hlsl_constant` address space for all `cbuffer` constant and adds metadata describing which global constant belongs to which constant buffer. For explicit constant buffer layout information an explicit layout type `target("dx.Layout")` is used. This might change in the future.

The constant globals are temporary and will be removed in upcoming pass that will translate `load` instructions in the `hlsl_constant` address space to constant buffer load intrinsics calls off a CBV handle (#124630, #112992).

See [Constant buffer design
doc](https://github.com/llvm/wg-hlsl/pull/94) for more details.

Fixes #113514, #106596



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