[all-commits] [llvm/llvm-project] 5df1b7: [HLSL] Add `[[hlsl::raw_buffer]]` attribute (#107954)

Vitaly Buka via All-commits all-commits at lists.llvm.org
Mon Sep 16 20:50:00 PDT 2024


  Branch: refs/heads/users/vitalybuka/spr/main.nfcsanitizer-make-getlibcversion-void
  Home:   https://github.com/llvm/llvm-project
  Commit: 5df1b79372a89648cdb4ab798f1c74985e00ac6e
      https://github.com/llvm/llvm-project/commit/5df1b79372a89648cdb4ab798f1c74985e00ac6e
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Basic/Attr.td
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    A clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
    A clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl

  Log Message:
  -----------
  [HLSL] Add `[[hlsl::raw_buffer]]` attribute (#107954)

This PR introduces new HLSL resource type attribute
`[[hlsl::raw_buffer]]`. Presence of this attribute on a resource handle
means that the resource does not require typed element access. The
attribute will be used on resource handles that represent buffers like
`StructuredBuffer` or `ByteAddressBuffer` and in DXIL it will be
translated to target extension type `dx.RawBuffer`.

Fixes #107907


  Commit: 97ae505753c5ade30229d223733775766ae51e47
      https://github.com/llvm/llvm-project/commit/97ae505753c5ade30229d223733775766ae51e47
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
    M llvm/test/MC/Disassembler/WebAssembly/wasm.txt

  Log Message:
  -----------
  [WebAssembly] Support disassembler for try_table (#108800)

This adds support for disassembler for the new `try_table` instruction.
This adds tests for `throw` and `throw_ref` as well.

Currently tag expressions are not supported for `throw` or `try_table`
instruction when instructions are parsed from the disassembler. Not sure
whether there is a way to support it. (This is not a new thing for the
new EH proposal; it has not been supported for the legacy EH as well.)


  Commit: 64aaf0559d9333dc00c04bb581739ddc5da358b2
      https://github.com/llvm/llvm-project/commit/64aaf0559d9333dc00c04bb581739ddc5da358b2
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/clang_f_opts.c

  Log Message:
  -----------
  [Clang] [Driver] Ensure `-fms-volatile` is set for x86 for `*-windows-msvc` triple on non cl driver modes (#107509)

Similar reasoning as this PR:
https://github.com/llvm/llvm-project/pull/107177

`-fms-volatile` should be set by default for x86 targets as long as the
triple is `*-windows-msvc`.
The driver mode shouldn't dictate the triple when targeting msvc
compatibility.


  Commit: 884221eddb9d395830704fac79fd04008e02e368
      https://github.com/llvm/llvm-project/commit/884221eddb9d395830704fac79fd04008e02e368
  Author: JOE1994 <joseph942010 at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M mlir/lib/Debug/Observers/ActionProfiler.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/Var.cpp
    M mlir/lib/Dialect/Traits.cpp
    M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
    M mlir/lib/IR/Diagnostics.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    M mlir/lib/Pass/Pass.cpp
    M mlir/lib/Pass/PassCrashRecovery.cpp
    M mlir/lib/Query/Matcher/RegistryManager.cpp
    M mlir/lib/Query/QueryParser.cpp

  Log Message:
  -----------
  [mlir] Tidy uses of llvm::raw_stream_ostream (NFC)

As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly

( 65b13610a5226b84889b923bae884ba395ad084d for further reference )

* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.


  Commit: 2257158f468940323b25f8ce4a5c5d28d8ad40cc
      https://github.com/llvm/llvm-project/commit/2257158f468940323b25f8ce4a5c5d28d8ad40cc
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Basic/Attr.td
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    M clang/test/Driver/clang_f_opts.c
    A clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
    A clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
    M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
    M llvm/test/MC/Disassembler/WebAssembly/wasm.txt
    M mlir/lib/Debug/Observers/ActionProfiler.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/Var.cpp
    M mlir/lib/Dialect/Traits.cpp
    M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
    M mlir/lib/IR/Diagnostics.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    M mlir/lib/Pass/Pass.cpp
    M mlir/lib/Pass/PassCrashRecovery.cpp
    M mlir/lib/Query/Matcher/RegistryManager.cpp
    M mlir/lib/Query/QueryParser.cpp

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/51ec360811c5...2257158f4689

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