[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