[all-commits] [llvm/llvm-project] 8baa21: [DirectX] Handle <1 x ...> loads in DXILResourceAc...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Thu Apr 24 15:52:11 PDT 2025


  Branch: refs/heads/users/vitalybuka/spr/drivercfi-allow-cfi-with-minimal-runtime
  Home:   https://github.com/llvm/llvm-project
  Commit: 8baa212b7aef800a0f7d9abad529a3976bef9d50
      https://github.com/llvm/llvm-project/commit/8baa212b7aef800a0f7d9abad529a3976bef9d50
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    M llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll

  Log Message:
  -----------
  [DirectX] Handle <1 x ...> loads in DXILResourceAccess (#137076)

We can end up with loads of single element vectors when we have scalar
values, because the vectorizer may introduce these to use ops like
shufflevector in some cases. Make sure we're maintaining the correct
type when translating these into resource load operations.

Fixes #136409.


  Commit: 5d0afacd1bda42350efcd6ad567c70ec5c9d19d6
      https://github.com/llvm/llvm-project/commit/5d0afacd1bda42350efcd6ad567c70ec5c9d19d6
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp

  Log Message:
  -----------
  [BOLT][NFCI] Emit uniform diagnostics in DataAggregator (#136530)

DataAggregator supports reading different kinds of profile data:
- perf data: branch records or IP samples,
- pre-aggregated branch data.

Make profile quality reporting uniform across all kinds of input:
- out-of-range and mismatching samples,
- samples in cold code in BAT mode (profiled BOLTed binary).

Test Plan: NFCI


  Commit: 08efca9c2c2b9005a0390965a2bad9ef208e4db4
      https://github.com/llvm/llvm-project/commit/08efca9c2c2b9005a0390965a2bad9ef208e4db4
  Author: jeremyd2019 <github at jdrake.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/tools/llvm-config/BuildVariables.inc.in
    M llvm/tools/llvm-config/CMakeLists.txt
    M llvm/tools/llvm-config/llvm-config.cpp
    M llvm/tools/llvm-shlib/CMakeLists.txt

  Log Message:
  -----------
  [LLVM][Cygwin] Fix shared library name (#136599)

Treat Cygwin like WIN32 in llvm-shlib for naming the library.

Don't create shlib symlinks on Cygwin, they don't help anything there,
but teach llvm_install_library_symlink that Cygwin's shared libraries
live in BINDIR like WIN32.

Add a new variable to llvm-config's BuildVariables to have CMake's
shared library prefix, to avoid having to patch between "cyg" and
"msys-" on MSYS2.


  Commit: b649b3557e7b0a95612be64c1fe2334f6ecb2132
      https://github.com/llvm/llvm-project/commit/b649b3557e7b0a95612be64c1fe2334f6ecb2132
  Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILRootSignature.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.h
    R llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Validation-Error.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Parameters-Validation-Error.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Parameters.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants-Invalid-Num32BitValues.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants-Invalid-RegisterSpace.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants-Invalid-ShaderRegister.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootFlags-VisibilityValidationError.ll

  Log Message:
  -----------
  [HLSL] Adding support for Root Constants in LLVM Metadata (#135085)

- Closes [#126637](https://github.com/llvm/llvm-project/issues/126637)

---------

Co-authored-by: joaosaffran <joao.saffran at microsoft.com>


  Commit: bae4c946a1998b0d2337a8b23c07db38afcabf12
      https://github.com/llvm/llvm-project/commit/bae4c946a1998b0d2337a8b23c07db38afcabf12
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/parallel.c

  Log Message:
  -----------
  [OpenACC][CIR] Implement 'num_gangs' lowering (#137216)

This is similar to the previous handful of lowering commits, except that
it takes an array of int-expressions rather than a single one. This
complicates the list of things that need updating (as the 'segments'
array also needs updating), which resulted in a bit of a refactor.

At the moment, only parallel/kernels are enabled (not parallel
    loop/kernels loop), so tests are added just for those.

---------

Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>


  Commit: 7d71164855fb22b48cbd65a1e372be804dc404bb
      https://github.com/llvm/llvm-project/commit/7d71164855fb22b48cbd65a1e372be804dc404bb
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    A clang/lib/CIR/CodeGen/CIRGenCXXABI.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/basic.cpp
    M clang/test/CIR/CodeGen/binop.cpp
    M clang/test/CIR/CodeGen/call.cpp
    M clang/test/CIR/CodeGen/cast.cpp
    M clang/test/CIR/CodeGen/cmp.cpp
    M clang/test/CIR/CodeGen/if.cpp
    M clang/test/CIR/CodeGen/int-to-bool.cpp
    M clang/test/CIR/CodeGen/local-vars.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    M clang/test/CIR/CodeGen/nullptr-init.cpp
    M clang/test/CIR/CodeGen/struct.cpp
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/Lowering/array.cpp
    M clang/test/CIR/Lowering/basic.cpp
    M clang/test/CIR/Lowering/func-simple.cpp
    M clang/test/CIR/Lowering/local-vars.cpp
    M clang/test/CIR/func-simple.cpp
    M clang/test/CIR/global-var-linkage.cpp

  Log Message:
  -----------
  [CIR] Upstream support for name mangling (#137094)

We have been using the default names for global symbols to this point.
This change introduces proper name mangling for functions.

This requires introducing a CXXABI class in the CIRGenModule. Because
only target independent name mangling is handled in this patch, the
CXXABI class does not require a target-specific implementation. The
general mechanism for selecting an implementation is introduced here,
but the actual target-specific subclasses are deferred until needed.


  Commit: 80182a7d5d66c8dc90bb4623c1f722aba7ebe45b
      https://github.com/llvm/llvm-project/commit/80182a7d5d66c8dc90bb4623c1f722aba7ebe45b
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    A clang/test/CIR/CodeGenOpenACC/wait.c

  Log Message:
  -----------
  [OpenACC][CIR] Implement 'wait' directive lowering

This construct has a couple of 'intexprs' which are lowered the same way
as clauses, plus has a pair of simple clauses that needed lowering.
This patch does all of that.


  Commit: 0a3f2a05f27097c47d45e16828b0da0dd51fad48
      https://github.com/llvm/llvm-project/commit/0a3f2a05f27097c47d45e16828b0da0dd51fad48
  Author: Reid Kleckner <rnk at google.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    A clang/test/CodeGenCXX/bpf-debug-structors.cpp

  Log Message:
  -----------
  [BPF] Fix issues with external declarations of C++ structor decls (#137079)

Use GetAddrOfGlobal, which is a more general API that takes a
GlobalDecl, and handles declaring C++ destructors and other types in a
general way. We can use this to generalize over functions and variable
declarations.

This fixes issues reported on #130674 by @lexi-nadia .


  Commit: 67cbfb9d8c38c038e33ee48c82262e72e46ff089
      https://github.com/llvm/llvm-project/commit/67cbfb9d8c38c038e33ee48c82262e72e46ff089
  Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsSPIRV.td
    M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaSPIRV.cpp
    A clang/test/CodeGenHLSL/builtins/faceforward.hlsl
    A clang/test/CodeGenSPIRV/Builtins/faceforward.c
    A clang/test/SemaHLSL/BuiltIns/faceforward-errors.hlsl
    A clang/test/SemaSPIRV/BuiltIns/faceforward-errors.c
    M clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/faceforward.ll

  Log Message:
  -----------
  [HLSL] Implement the `faceforward` intrinsic (#135878)

Resolves #99114.

Tasks completed:
- Implement `faceforward` in
`hlsl_intrinsics.h`/`hlsl_intrinsic_helpers.h`
- Implement `faceforward` SPIR-V target builtin in
`clang/include/clang/Basic/BuiltinsSPIRV.td`
- Add a SPIR-V fast path in `hlsl_intrinsic_helpers.h`
- Add sema checks for `faceforward` to `CheckSPIRVBuiltinFunctionCall`
in `clang/lib/Sema/SemaSPIRV.cpp`
- Add codegen for SPIR-V `faceforward` builtin to `EmitSPIRVBuiltinExpr`
in `SPIR.cpp`
- Add HLSL codegen tests to
`clang/test/CodeGenHLSL/builtins/faceforward.hlsl`
- Add SPIRV builtin codegen tests to
`clang/test/CodeGenSPIRV/Builtins/faceforward.c`
- Add sema tests to
`clang/test/SemaHLSL/BuiltIns/faceforward-errors.hlsl`
- Add spirv sema tests to
`clang/test/SemaSPIRV/BuiltIns/faceforward-errors.c`
- Create the `int_spv_faceforward` intrinsic in `IntrinsicsSPIRV.td`
- In `SPIRVInstructionSelector.cpp` create the `faceforward` lowering
and map it to `int_spv_faceforward` in
`SPIRVInstructionSelector::selectIntrinsic`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/faceforward.ll`

Incomplete tasks:
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/opencl/faceforward.ll`
- Not applicable because the OpenCL SPIR-V extended instruction set does
not include a `faceforward` function

Follow-up tasks:
- Implement pattern matching for `faceforward` in `SPIRVCombine.td` and
`SPIRVPreLegalizerCombiner.cpp`
- In `faceforward.ll`, change `--target-env spv1.4` to `vulkan1.3` and
update the test accordingly once
[#136344](https://github.com/llvm/llvm-project/issues/136344) has been
resolved


  Commit: 851f7c74213e8497afb2b2a3b7facb9faedf9f5f
      https://github.com/llvm/llvm-project/commit/851f7c74213e8497afb2b2a3b7facb9faedf9f5f
  Author: Anton <44649959+amemov at users.noreply.github.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/math/index.rst
    M libc/include/math.yaml
    M libc/src/math/CMakeLists.txt
    A libc/src/math/acospif16.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/acospif16.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/acospif16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/acospif16_test.cpp
    M libc/utils/MPFRWrapper/MPCommon.cpp
    M libc/utils/MPFRWrapper/MPCommon.h
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h

  Log Message:
  -----------
  [libc][math][c23] Add acospif16() function (#134664)

Addresses #132211  #132754
Part of #95250


  Commit: 7de2e4971f8ad8d12ed617bc66f6d549d2830a57
      https://github.com/llvm/llvm-project/commit/7de2e4971f8ad8d12ed617bc66f6d549d2830a57
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp

  Log Message:
  -----------
  [mlir][NFC] Use Builder for getReassociationIndicesAttribute method. (#137251)

The method does not need to create any operation, so we can use Builder.
It can be reused by any attribute getter implementation, so it does not
need to declare OpBuilder in the implementation.

Signed-off-by: hanhanW <hanhan0912 at gmail.com>


  Commit: 768d3ba74319473e0bbf87ad92174062d4909488
      https://github.com/llvm/llvm-project/commit/768d3ba74319473e0bbf87ad92174062d4909488
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  github-automation.py: Add debug output to the commit-request-greeter (#137104)

This script is not working any more in the GitHub actions jobs and I
can't reproduce this locally, so I've added some debug output to try to
help find the problem.


  Commit: b41ac65680ef99e0eaadcc5394911283ccb14747
      https://github.com/llvm/llvm-project/commit/b41ac65680ef99e0eaadcc5394911283ccb14747
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M clang/include/clang/Basic/BuiltinsSPIRV.td
    M clang/include/clang/CIR/MissingFeatures.h
    A clang/lib/CIR/CodeGen/CIRGenCXXABI.h
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaSPIRV.cpp
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/basic.cpp
    M clang/test/CIR/CodeGen/binop.cpp
    M clang/test/CIR/CodeGen/call.cpp
    M clang/test/CIR/CodeGen/cast.cpp
    M clang/test/CIR/CodeGen/cmp.cpp
    M clang/test/CIR/CodeGen/if.cpp
    M clang/test/CIR/CodeGen/int-to-bool.cpp
    M clang/test/CIR/CodeGen/local-vars.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    M clang/test/CIR/CodeGen/nullptr-init.cpp
    M clang/test/CIR/CodeGen/struct.cpp
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    A clang/test/CIR/CodeGenOpenACC/wait.c
    M clang/test/CIR/Lowering/array.cpp
    M clang/test/CIR/Lowering/basic.cpp
    M clang/test/CIR/Lowering/func-simple.cpp
    M clang/test/CIR/Lowering/local-vars.cpp
    M clang/test/CIR/func-simple.cpp
    M clang/test/CIR/global-var-linkage.cpp
    A clang/test/CodeGenCXX/bpf-debug-structors.cpp
    A clang/test/CodeGenHLSL/builtins/faceforward.hlsl
    A clang/test/CodeGenSPIRV/Builtins/faceforward.c
    A clang/test/SemaHLSL/BuiltIns/faceforward-errors.hlsl
    A clang/test/SemaSPIRV/BuiltIns/faceforward-errors.c
    M clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/math/index.rst
    M libc/include/math.yaml
    M libc/src/math/CMakeLists.txt
    A libc/src/math/acospif16.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/acospif16.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/acospif16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/acospif16_test.cpp
    M libc/utils/MPFRWrapper/MPCommon.cpp
    M libc/utils/MPFRWrapper/MPCommon.h
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    R llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Validation-Error.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Parameters-Validation-Error.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Parameters.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants-Invalid-Num32BitValues.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants-Invalid-RegisterSpace.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants-Invalid-ShaderRegister.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootFlags-VisibilityValidationError.ll
    M llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/faceforward.ll
    M llvm/tools/llvm-config/BuildVariables.inc.in
    M llvm/tools/llvm-config/CMakeLists.txt
    M llvm/tools/llvm-config/llvm-config.cpp
    M llvm/tools/llvm-shlib/CMakeLists.txt
    M llvm/utils/git/github-automation.py
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp

  Log Message:
  -----------
  Merge branch 'main' into users/vitalybuka/spr/drivercfi-allow-cfi-with-minimal-runtime


Compare: https://github.com/llvm/llvm-project/compare/f4621d702f68...b41ac65680ef

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