[all-commits] [llvm/llvm-project] d92bac: [HLSL] Introduce address space `hlsl_constant(2)` ...

Helena Kotas via All-commits all-commits at lists.llvm.org
Fri Jan 24 16:48:56 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d92bac8a3ebb19106f6bca6b7613a27c52cb48ab
      https://github.com/llvm/llvm-project/commit/d92bac8a3ebb19106f6bca6b7613a27c52cb48ab
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    R clang/test/AST/HLSL/ast-dump-comment-cbuffer-tbuffer.hlsl
    A clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
    M clang/test/AST/HLSL/cbuffer.hlsl
    M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
    M clang/test/AST/HLSL/packoffset.hlsl
    M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
    M clang/test/AST/HLSL/resource_binding_attr.hlsl
    M clang/test/CodeGenHLSL/cbuf.hlsl
    M clang/test/CodeGenHLSL/cbuf_in_namespace.hlsl
    M clang/test/CodeGenHLSL/static_global_and_function_in_cb.hlsl
    M clang/test/SemaTemplate/address_space-dependent.cpp

  Log Message:
  -----------
  [HLSL] Introduce address space `hlsl_constant(2)` for constant buffer declarations (#123411)

Introduces a new address space `hlsl_constant(2)` for constant buffer
declarations.

This address space is applied to declarations inside `cbuffer` block.
Later on, it will also be applied to `ConstantBuffer<T>` syntax and the
default `$Globals` constant buffer.

Clang codegen translates constant buffer declarations to global
variables and loads from `hlsl_constant(2)` address space. More work
coming soon will include addition of metadata that will map these
globals to individual constant buffers and enable their transformation
to appropriate constant buffer load intrinsics later on in an LLVM pass.

Fixes #123406



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