[all-commits] [llvm/llvm-project] 71ddb5: [HLSL] cbuffer: Create host layout struct and add ...

Helena Kotas via All-commits all-commits at lists.llvm.org
Mon Jan 13 20:58:17 PST 2025


  Branch: refs/heads/users/hekota/pr-122820
  Home:   https://github.com/llvm/llvm-project
  Commit: 71ddb5a2b4cc8a9609410b436e896484401f5e90
      https://github.com/llvm/llvm-project/commit/71ddb5a2b4cc8a9609410b436e896484401f5e90
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/ast-dump-comment-cbuffe-tbufferr.hlsl
    A clang/test/AST/HLSL/cbuffer.hlsl
    R clang/test/AST/HLSL/cbuffer_tbuffer.hlsl
    M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl

  Log Message:
  -----------
  [HLSL] cbuffer: Create host layout struct and add resource handle to AST

Creates layout struct for `cbuffer` in Sema which will contains only declarations
contributing to the constant buffer layout. Anything else will be filtered out,
such as static variables decls, struct and function definitions, resources,
or empty struct and zero-sized arrays.

If the constant buffer includes a struct that contains any of the above undesirable
declarations, a new version of this struct should be created with these declarations
filtered out as well.

The definition of buffer layour struct is added to the HLSLBufferDecl node and is followed
by 'cbuffer` resource handle decl referencing the layout struct as its contained type.

Fixes #122553



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