[all-commits] [llvm/llvm-project] f20af7: [bolt] Support arm64 FP register spills (#73021)

Jon Roelofs via All-commits all-commits at lists.llvm.org
Wed Dec 6 11:17:25 PST 2023


  Branch: refs/heads/users/jroelofs/spr/llvm-support-ifuncs-on-darwin-platforms
  Home:   https://github.com/llvm/llvm-project
  Commit: f20af7372fcef3f317743063999403beba630078
      https://github.com/llvm/llvm-project/commit/f20af7372fcef3f317743063999403beba630078
  Author: eleviant <56861949+eleviant at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    A bolt/test/AArch64/fp-reg-spill.s

  Log Message:
  -----------
  [bolt] Support arm64 FP register spills (#73021)

At the moment llvm-bolt fails when analyzing jump tables on aarch64 in
case FP register spill/reload is used.


  Commit: a855b2c894444419c3689aff6fd0381fdeb02491
      https://github.com/llvm/llvm-project/commit/a855b2c894444419c3689aff6fd0381fdeb02491
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/include/clang/Lex/PPCallbacks.h

  Log Message:
  -----------
  Formatting change; NFC

I'm adding to the list of forward declares in a PR for #embed, so this
won't be a formatting-only change for long.


  Commit: af03e2928971bbed2901e096b446e1e1a078de43
      https://github.com/llvm/llvm-project/commit/af03e2928971bbed2901e096b446e1e1a078de43
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr6xx.cpp

  Log Message:
  -----------
   [clang][NFC] Refactor expected directives in C++ DRs 600-699 (#74477)

[clang][NFC] Refactor expected directives in C++ DRs 600-699

This patch continues the work started with https://github.com/llvm/llvm-project/commit/ea5b1ef016d020c37f903d6c7d4f623be975dab8.
See that commit and its corresponding PR for details.


  Commit: aaf3a8ded47121c8ec8136f97a7a2c39112b3e59
      https://github.com/llvm/llvm-project/commit/aaf3a8ded47121c8ec8136f97a7a2c39112b3e59
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M lld/COFF/Config.h
    M lld/COFF/Driver.cpp
    M lld/COFF/Options.td
    M lld/COFF/Writer.cpp
    M lld/MinGW/Driver.cpp
    M lld/MinGW/Options.td
    M lld/test/COFF/debug-reloc.s
    M lld/test/COFF/rsds.test
    M lld/test/MinGW/driver.test

  Log Message:
  -----------
  [LLD][COFF] Add -build-id flag to generate .buildid section. (#71433)

[RFC](https://discourse.llvm.org/t/rfc-add-build-id-flag-to-lld-link/74661)

Before, lld-link only generate the debug directory containing guid when
generating PDB with the hash of PDB content.

With this change, lld-link can generate the debug directory when only
`/build-id` is given:
1. If generating PDB, `/build-id` is ignored. Same behaviour as before.
2. Not generating PDB, using hash of the binary.
   - Not under MinGW, the debug directory is still in `.rdata` section.
   - Under MinGW, place the debug directory into new `.buildid` section.


  Commit: 1e3af94253cebb054db5d2050e00af0169862b39
      https://github.com/llvm/llvm-project/commit/1e3af94253cebb054db5d2050e00af0169862b39
  Author: Eric <eric at efcs.ca>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  Disable fail-fast for libc++ builders. (#74485)

It seems the fail fast just doesn't strike the right balance.
It wastes too many resources, especially if a build is killed because
the machine it was running on got preempted.

Instead, we should simply not run any future jobs if a failure has
occured, while letting the already running jobs finish.


  Commit: 12e5148f9cf24b1360b3adfc7e3f5994a518f0cd
      https://github.com/llvm/llvm-project/commit/12e5148f9cf24b1360b3adfc7e3f5994a518f0cd
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fix CallOp asm parser for attr-dict (#74372)

Currently the parser & printer of `CallOp` do not match when both
varargs and attr-dict are present (round tripping is broken). This fixes
the parser so that it conforms to the written asm format in the
comments.


  Commit: a0dde7b8d16842005d6f5247dda6f17c77a5906f
      https://github.com/llvm/llvm-project/commit/a0dde7b8d16842005d6f5247dda6f17c77a5906f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp

  Log Message:
  -----------
  [DAG] Remove (dead) legalization for atomic LoadSDNode and StoreSDNode

This should have been part of 943f3e52 which removed the never completed
migration code which added these.  I left them out because I thought there
was more generic SDAG code to cleanup, but I'd forgotten that SystemZ
relied on custom legalizing ATOMIC_LOAD to (atomic) LoadSDNode.  As a
result, we still need the various legality checks on combines and the
common infrastructure to suport them.


  Commit: 901bc5129d1a1e8ad47801343d48dcd9e01ad386
      https://github.com/llvm/llvm-project/commit/901bc5129d1a1e8ad47801343d48dcd9e01ad386
  Author: Augusto Noronha <augusto2112 at me.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M lldb/include/lldb/Expression/DiagnosticManager.h

  Log Message:
  -----------
  [NFC][lldb] Implement DiagnosticManager::Consume (#74011)

In some situations it may be useful to have a separate DiagnosticManager
instance, and then later of move the contents of that instance back to
the "main" DiagnosticManager. For example, when silently retrying some
operation with different parameters, depending on whether the retry
succeeded or failed, LLDB may want to present a different set of
diagnostics to the user (the ones generated on the first try vs the
retry). Implement DiagnosticManager::Consume to allow for this use case.


  Commit: 86bde5adc8f20a619c7ccbfee5d9bf92c5429226
      https://github.com/llvm/llvm-project/commit/86bde5adc8f20a619c7ccbfee5d9bf92c5429226
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/sys/prctl.h.def
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/prctl/CMakeLists.txt
    A libc/src/sys/prctl/linux/CMakeLists.txt
    A libc/src/sys/prctl/linux/prctl.cpp
    A libc/src/sys/prctl/prctl.h
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/prctl/CMakeLists.txt
    A libc/test/src/sys/prctl/linux/CMakeLists.txt
    A libc/test/src/sys/prctl/linux/prctl_test.cpp

  Log Message:
  -----------
  [libc] implement prctl (#74386)

Implement `prctl` as specified in
https://man7.org/linux/man-pages/man2/prctl.2.html.

This patch also includes test cases covering two simple use cases:

1. `PR_GET_NAME/PR_SET_NAME`: where userspace data is passed via arg2.
2. `PR_GET_THP_DISABLE`: where return value is passed via syscal retval.


  Commit: 0f45e45847a5f2969b8021c787a566531fc96473
      https://github.com/llvm/llvm-project/commit/0f45e45847a5f2969b8021c787a566531fc96473
  Author: Alex Light <allight at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/tools/lli/lli.cpp

  Log Message:
  -----------
  Ensure `lli --force-interpreter` disables the OrcJIT too (#73717)

Unless the OrcJIT was explicitly disabled it would be used by lli even
if the --force-interpreter flag was passed.


  Commit: d6fbd96e5eaf3e8acbf1b43dce7a311352907567
      https://github.com/llvm/llvm-project/commit/d6fbd96e5eaf3e8acbf1b43dce7a311352907567
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll
    M llvm/test/CodeGen/RISCV/vararg.ll
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Support FrameIndex operands in getMemOperandsWithOffsetWidth / getMemOperandWithOffsetWidth (#73802)

I noted AArch64 happily accepts a FrameIndex operand as well as a
register. This doesn't cause any changes outside of my C++ unit test for
the current state of in-tree, but this will cause additional test
changes if #73789 is rebased on top of it.

Note that the returned Offset doesn't seem at all as meaningful if you
have a FrameIndex base, though the approach taken here follows AArch64
(see D54847). This change won't harm the approach taken in
shouldClusterMemOps because memOpsHaveSameBasePtr will only return true
if the FrameIndex operand is the same for both operations.


  Commit: 2284771fa02fa3c75b07fafc37c559cf6deddd59
      https://github.com/llvm/llvm-project/commit/2284771fa02fa3c75b07fafc37c559cf6deddd59
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    A flang/test/Driver/compiler-options.f90
    R flang/test/Driver/compiler_options.f90
    A flang/test/Driver/fast-math.f90
    R flang/test/Driver/fast_math.f90
    A flang/test/Driver/flang-f-opts.f90
    R flang/test/Driver/flang_f_opts.f90
    A flang/test/Driver/no-duplicate-main.f90
    R flang/test/Driver/no_duplicate_main.f90

  Log Message:
  -----------
  [flang][nfc] Rename four driver tests

This patch makes sure that hyphen ("-") (instead of an underscore "_")
is consistently used for all test files.

Sending without a review as this is rather straightforward.


  Commit: 7fc792cba7663b2aa54f259515319d74a5625be0
      https://github.com/llvm/llvm-project/commit/7fc792cba7663b2aa54f259515319d74a5625be0
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
    A mlir/include/mlir/Target/LLVMIR/Dialect/SPIRV/SPIRVToLLVMIRTranslation.h
    M mlir/lib/Target/LLVMIR/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
    A mlir/lib/Target/LLVMIR/Dialect/SPIRV/CMakeLists.txt
    A mlir/lib/Target/LLVMIR/Dialect/SPIRV/SPIRVToLLVMIRTranslation.cpp
    M mlir/test/CMakeLists.txt
    A mlir/test/Integration/GPU/SYCL/gpu-addf32-to-spirv.mlir
    A mlir/test/Integration/GPU/SYCL/gpu-addi64-to-spirv.mlir
    A mlir/test/Integration/GPU/SYCL/gpu-reluf32-to-spirv.mlir
    A mlir/test/Integration/GPU/SYCL/lit.local.cfg
    M mlir/test/Target/LLVMIR/gpu.mlir
    M mlir/test/lit.cfg.py
    M mlir/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [MLIR] Enable GPU Dialect to SYCL runtime integration (#71430)

GPU Dialect lowering to SYCL runtime is driven by spirv.target_env
attached to gpu.module. As a result of this, spirv.target_env remains as
an input to LLVMIR Translation.
A SPIRVToLLVMIRTranslation without any actual translation is added to
avoid an unregistered error in mlir-cpu-runner.
SelectObjectAttr.cpp is updated to
1) Pass binary size argument to getModuleLoadFn
2) Pass parameter count to getKernelLaunchFn
This change does not impact CUDA and ROCM usage since both
mlir_cuda_runtime and mlir_rocm_runtime are already updated to accept
and ignore the extra arguments.


  Commit: 13e2200fa426faffb62bdaf8b2f1f5699eee1511
      https://github.com/llvm/llvm-project/commit/13e2200fa426faffb62bdaf8b2f1f5699eee1511
  Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M flang/runtime/exceptions.cpp

  Log Message:
  -----------
  [Flang] remove assert using femode_t from AIX (#74500)

AIX does not have `femode_t` in `<cfenv>` header, removing the assert to
fix build failures

---------

Co-authored-by: Mark Danial <mark.danial at ibm.com>


  Commit: 11ba327e69531255eae550d4de1eb07cd8c1ad39
      https://github.com/llvm/llvm-project/commit/11ba327e69531255eae550d4de1eb07cd8c1ad39
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [bazel][libc] Add missing UInt.h -> CPP/bit.h dep


  Commit: 16c61cad193f71b609890618fa156ed92c106d1b
      https://github.com/llvm/llvm-project/commit/16c61cad193f71b609890618fa156ed92c106d1b
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port 7fc792cba7663b2aa54f259515319d74a5625be0


  Commit: 651a49c4b6bdef81c8deddbe653258c066867a58
      https://github.com/llvm/llvm-project/commit/651a49c4b6bdef81c8deddbe653258c066867a58
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp

  Log Message:
  -----------
  [IR] Remove deprecated PointerType methods that always return true (#74521)


  Commit: cee5b8777fa98312b05bf8aa81554910a8f867c5
      https://github.com/llvm/llvm-project/commit/cee5b8777fa98312b05bf8aa81554910a8f867c5
  Author: elizabethandrews <elizabeth.andrews at intel.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/attr-target-clones.c
    M clang/test/CodeGenCXX/attr-target-clones.cpp

  Log Message:
  -----------
  [Clang]  Fix linker error for function multiversioning (#71706)

Currently target_clones attribute results in a linker error when there
are no multi-versioned function declarations in the calling TU.

In the calling TU, the call is generated with the ‘normal’ assembly
name. This does not match any of the versions or the ifunc, since
version mangling includes a .versionstring, and the ifunc includes
.ifunc suffix. The linker error is not seen with GCC since the mangling
for the ifunc symbol in GCC is the ‘normal’ assembly name for function
i.e. no ifunc suffix.

This PR removes the .ifunc suffix to match GCC. It also adds alias with
the .ifunc suffix so as to ensure backward compatibility.

The changes exclude aarch64 target because the mangling for default
versions on aarch64 does not include a .default suffix and is the
'normal' assembly name, unlike other targets. It is not clear to me what
the correct behavior for this target is.

Old Phabricator review - https://reviews.llvm.org/D158666

---------

Co-authored-by: Tom Honermann <tom at honermann.net>


  Commit: 9fbcdfc7c6f547064a8fed7618aa6ba00153048d
      https://github.com/llvm/llvm-project/commit/9fbcdfc7c6f547064a8fed7618aa6ba00153048d
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/DerivedTypes.h

  Log Message:
  -----------
  [IR] Remove deprecated PointerType::getWithSamePointeeType()

As the deprecation message says, use PointerType::get(LLVMContext &, unsigned) instead.


  Commit: 9f87509b1902da2e98254f32bd32cc10eb88bb9e
      https://github.com/llvm/llvm-project/commit/9f87509b1902da2e98254f32bd32cc10eb88bb9e
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/omptarget.cpp
    A openmp/libomptarget/test/Inputs/declare_indirect_func.c
    A openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c

  Log Message:
  -----------
  [OpenMP][FIX] Ensure we allow shared libraries without kernels (#74532)

This fixes two bugs and adds a test for them:
- A shared library with declare target functions but without kernels
should not error out due to missing globals.
- Enabling LIBOMPTARGET_INFO=32 should not deadlock in the presence of
indirect declare targets.


  Commit: 07157db81d4421ced9fcf9a2002255c2a3a80d49
      https://github.com/llvm/llvm-project/commit/07157db81d4421ced9fcf9a2002255c2a3a80d49
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/compilation-database/template.json
    M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-run-with-database.cpp
    M clang/lib/Rewrite/Rewriter.cpp

  Log Message:
  -----------
  [clang][tidy] Ensure rewriter has the correct CWD (#67839)

This patch replaces use of the deprecated `FileEntry::getName()` with
`FileEntryRef::getName()`. This means the code now uses the path that
was used to register file entry in `SourceManager` instead of the
absolute path that happened to be used in the last call to
`FileManager::getFile()` some place else.

This caused some test failures due to the fact that some paths can be
relative and thus rely on the VFS CWD. The CWD can change for each TU,
so when we run `clang-tidy` on a compilation database and try to perform
all the replacements at the end, relative paths won't resolve the same.
This patch takes care to reinstate the correct CWD and make the path
reported by `FileEntryRef` absolute before passing it to
`llvm::writeToOutput()`.


  Commit: 079ca05eea35745b2c362c218069dcc1c33982b9
      https://github.com/llvm/llvm-project/commit/079ca05eea35745b2c362c218069dcc1c33982b9
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libc/src/__support/wctype_utils.h

  Log Message:
  -----------
  [libc] fix -Wtype-limits in wctob (#74511)

GCC warns:
```
libc/src/__support/wctype_utils.h:33:20: error: comparison of unsigned
expression in ‘< 0’ is always false [-Werror=type-limits]
   33 |   if (c > 127 || c < 0)
      |                  ~~^~~
```

Looking into the signedness of wint_t, it looks like depending on the
platform,
__WINT_TYPE__ is defined to int or unsigned int depending on the
platform.

Link:
https://lab.llvm.org/buildbot/#/builders/250/builds/14891/steps/6/logs/stdio


  Commit: bb0f162b3acfab3146807ab1e01946596d9921f9
      https://github.com/llvm/llvm-project/commit/bb0f162b3acfab3146807ab1e01946596d9921f9
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidy.cpp

  Log Message:
  -----------
  [clang][tidy] Fix build failure after 07157db


  Commit: 68db7aef74c9992de2af69e2d0b127ea7c7eacc3
      https://github.com/llvm/llvm-project/commit/68db7aef74c9992de2af69e2d0b127ea7c7eacc3
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/device.cpp

  Log Message:
  -----------
  [OpenMP] Reorganize the initialization of `PluginAdaptorTy` (#74397)

This introduces checked errors into the creation and initialization of
`PluginAdaptorTy`. We also allow the adaptor to "hide" devices from the
user if the initialization failed. The new organization avoids the
"initOnce" stuff but we still do not eagerly initialize the plugin
devices (I think we should merge `PluginAdaptorTy::initDevices` into
`PluginAdaptorTy::init`)


  Commit: e68c265543722af32821eab2c77565d37079da47
      https://github.com/llvm/llvm-project/commit/e68c265543722af32821eab2c77565d37079da47
  Author: Florian Mayer <fmayer at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
    M compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp

  Log Message:
  -----------
  [scudo] Add parameters for ring buffer and stack depot sizes (#74539)

These will be used in follow-up CLs, committing this separately because
it needs a matching change in AOSP. This way we can avoid complicated
multi-repo rollbacks if something is wrong with the follow up CLs.


  Commit: 20da662656931b5730ab21174a443ac828eb51f3
      https://github.com/llvm/llvm-project/commit/20da662656931b5730ab21174a443ac828eb51f3
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c

  Log Message:
  -----------
  [OpenMP][FIX] Fixup test that doesn't work with lit's `env` substitute


  Commit: dbb782dffdbd37e4aafa745eba9ba0f2831e21e8
      https://github.com/llvm/llvm-project/commit/dbb782dffdbd37e4aafa745eba9ba0f2831e21e8
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/test/Dialect/Shape/canonicalize.mlir

  Log Message:
  -----------
  [mlir][shape] Turn `ShapeOfOp` folding into canonicalization pattern (#74438)

The `ShapeOfOp` folder used to generate invalid IR.

Input:
```
%0 = shape.shape_of %arg1 : tensor<index> -> tensor<?xindex>
```

Output:
```
%0 = "shape.const_shape"() <{shape = dense<> : tensor<0xindex>}> : () -> tensor<?xindex>
error: 'shape.const_shape' op inferred type(s) 'tensor<0xindex>' are incompatible with return type(s) of operation 'tensor<?xindex>'
```

This rewrite cannot be implemented as a folder because the result type
may have to change. In the above example, the original `shape.shape_of`
op had a return type of `tensor<?xindex>`, but the folded attribute
(materialized as a `shape.const_shape` op) must have a type of
`tensor<0xf32>` to be valid.

This commit fixes tests such as
`mlir/test/Dialect/Shape/canonicalize.mlir` when verifying the IR after
each pattern application (#74270).


  Commit: 68f91cd257807ae8aad842d3cdc221415effbb93
      https://github.com/llvm/llvm-project/commit/68f91cd257807ae8aad842d3cdc221415effbb93
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp

  Log Message:
  -----------
  [mlir][bufferization] Fix invalid IR in `SimplifyClones` canonicalization (#74417)

`SimplifyClones` used to generate an invalid op:
```
error: 'memref.cast' op operand type 'memref<*xf32>' and result type 'memref<*xf32>' are cast incompatible
  %2 = bufferization.clone %1 : memref<*xf32> to memref<*xf32
```

This commit fixes tests such as
`mlir/test/Dialect/Bufferization/canonicalize.mlir` when verifying the
IR after each pattern (#74270).


  Commit: 8f9aac44279dbc1e7fdc5e4263da2b237db0cfc1
      https://github.com/llvm/llvm-project/commit/8f9aac44279dbc1e7fdc5e4263da2b237db0cfc1
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp

  Log Message:
  -----------
  [mlir][vector] Fix invalid IR in `vector.print` lowering (#74410)

`DecomposePrintOpConversion` used to generate invalid op such as:
```
error: 'arith.extsi' op operand type 'vector<10xi32>' and result type 'vector<10xi32>' are cast incompatible
  vector.print %v9 : vector<10xi32>
```

This commit fixes tests such as
`mlir/test/Integration/Dialect/Vector/CPU/test-reductions-i32.mlir` when
verifying the IR after each pattern application (#74270).


  Commit: 7a49c30b830471c39d09d71a6a617f2a7f3e711c
      https://github.com/llvm/llvm-project/commit/7a49c30b830471c39d09d71a6a617f2a7f3e711c
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/test/Driver/aarch64-thread-pointer.c
    M clang/test/Headers/arm-neon-header.c

  Log Message:
  -----------
  [Driver,test] Remove invalid -arch for non-Darwin AArch64 OSes

See also #74365. clang/lib/Driver/ToolChains/Arch/AArch64.cpp
inappropriately claims OPT_arch, which will be removed by the follow-up
change.


  Commit: 8a686716e360157ad5726560cc5ea61be647893c
      https://github.com/llvm/llvm-project/commit/8a686716e360157ad5726560cc5ea61be647893c
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/test/Driver/arm-arch-darwin.c

  Log Message:
  -----------
  [Driver,AArch64] Ensure -arch logic is Darwin-specific

`-arch` is a Darwin-specific option that is ignored for other targets
and not known by GCC. It leads to an error for non-Darwin OSes for
non-AArch64 architectures. Ensure that it leads to an error for AArch64
non-Darwin OSes as well.


  Commit: f5adb5bca9c52a0cd563834931b98597932e76d7
      https://github.com/llvm/llvm-project/commit/f5adb5bca9c52a0cd563834931b98597932e76d7
  Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrVMX.td
    A llvm/test/MC/Disassembler/X86/apx/invept.txt
    A llvm/test/MC/Disassembler/X86/apx/invvpid.txt
    A llvm/test/MC/X86/apx/invept-att.s
    A llvm/test/MC/X86/apx/invept-intel.s
    A llvm/test/MC/X86/apx/invvpid-att.s
    A llvm/test/MC/X86/apx/invvpid-intel.s

  Log Message:
  -----------
  [X86][MC] Support Enc/Dec for EGPR for promoted VMX instructions (#74434)

R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the encoding/decoding for promoted VMX instructions
in EVEX space.

RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4


  Commit: 4699789249e6945c46cdbecd1fee493cbe553c66
      https://github.com/llvm/llvm-project/commit/4699789249e6945c46cdbecd1fee493cbe553c66
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp

  Log Message:
  -----------
  [clang][analyzer][NFC] Supplement comments in `evalFtell` of StreamChecker (#74291)


  Commit: 689db42c9c393cbf27da5aa345f6a7429cf7e18f
      https://github.com/llvm/llvm-project/commit/689db42c9c393cbf27da5aa345f6a7429cf7e18f
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86Instr3DNow.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86InstrFPStack.td
    M llvm/lib/Target/X86/X86InstrFormats.td
    A llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrInfo.td
    M llvm/lib/Target/X86/X86InstrMisc.td
    A llvm/lib/Target/X86/X86InstrOperands.td
    A llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    A llvm/lib/Target/X86/X86InstrUtils.td

  Log Message:
  -----------
  [X86][NFC] Reorgnize the X86Instr*.td (#74454)

1. Move all pattern fragments for SIMD instructions to X86InstrFragmentsSIMD.td
2. Create X86InstrFragments.td and move non-SIMD pattern fragments into it
3. Create X86InstrOperands.td and move operand definitions into it
4. Create X86InstrPredicates.td and move predicate definitions into it
5. Create X86InstrUtils.td and move utilities for simplifying the instruction definitions into it


  Commit: aeaae5311b8d4bbcfe7ef5cff722ea36b038c0ad
      https://github.com/llvm/llvm-project/commit/aeaae5311b8d4bbcfe7ef5cff722ea36b038c0ad
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  [clang-format] Add "three dot" diff option to git-clang-format (#74230)

This patch adds in the ability to do a "three dot" git-clang-format
between two commits. This looks at the diff between the second commit
and the common merge base rather than comparing at the point of the
specified commits. This is needed to improve the reliability of the LLVM
code formatting CI action which currently breaks in some cases where
files have been modified in the upstream tree and when the person
created their branch, leaving phantom formatting diffs that weren't
touched by the PR author.

Part of a fix for #73873


  Commit: 9fa34555af26a1efdcb367ec70c236a84ece7659
      https://github.com/llvm/llvm-project/commit/9fa34555af26a1efdcb367ec70c236a84ece7659
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Quick fix for #74469 CLANG_VERSION


  Commit: 62ece9ce997a3ca077a931eff07bc2cfef978289
      https://github.com/llvm/llvm-project/commit/62ece9ce997a3ca077a931eff07bc2cfef978289
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/runtime/unit.cpp

  Log Message:
  -----------
  [flang][runtime] Add a critical section for LookUpOrCreateAnonymous. (#74468)

In parallel regions `LookUpOrCreateAnonymous` may return an anonymous
unit that has not yet been opened, which may cause a runtime error.
This commit ensures that the returned anonymous unit has been opened.
For details see:
https://github.com/llvm/llvm-project/issues/68856#issuecomment-1788632511

Fixes https://github.com/llvm/llvm-project/issues/68856


  Commit: a2b715920ab6978949db8c85a8afd22942898f5b
      https://github.com/llvm/llvm-project/commit/a2b715920ab6978949db8c85a8afd22942898f5b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/include/llvm/XRay/BlockVerifier.h
    M llvm/lib/XRay/BlockVerifier.cpp

  Log Message:
  -----------
  [XRay] Adjust includes of bitset (NFC)

BlockVerifier.cpp uses std::bitset, not BlockVerifier.h.

Identified with clangd.


  Commit: 124b4ab85af254b9e8b6e466417d568fc50a25b2
      https://github.com/llvm/llvm-project/commit/124b4ab85af254b9e8b6e466417d568fc50a25b2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp

  Log Message:
  -----------
  [Target] Stop including bitset (NFC)

Identified with clangd.


  Commit: 06c5c27e44757e4917f7d7c995720ae8a2d3b1f9
      https://github.com/llvm/llvm-project/commit/06c5c27e44757e4917f7d7c995720ae8a2d3b1f9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp

  Log Message:
  -----------
  [llvm-exegesis] Stop including array (NFC)

Identified with clangd.


  Commit: 41507fe595d0fa3d81e151d70431d51897f8d14d
      https://github.com/llvm/llvm-project/commit/41507fe595d0fa3d81e151d70431d51897f8d14d
  Author: Pranav Taneja <138754701+prtaneja at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll

  Log Message:
  -----------
  [GISel] Combine (Scalarize) vector load followed by an element extract.


  Commit: a8d5f731d6696edcdbb6f71f8d58ca23962f5d9f
      https://github.com/llvm/llvm-project/commit/a8d5f731d6696edcdbb6f71f8d58ca23962f5d9f
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp

  Log Message:
  -----------
  [GlobalISel] Remove unused variable 'ResultTy' in CombinerHelper.cpp (NFC)

llvm-project/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:1179:7:
 error: unused variable 'ResultTy' [-Werror,-Wunused-variable]
  LLT ResultTy = MRI.getType(MI.getOperand(0).getReg());
      ^
1 error generated.


  Commit: df7545e4be5cb65ef3ddd278119c0b8b2f37b0ec
      https://github.com/llvm/llvm-project/commit/df7545e4be5cb65ef3ddd278119c0b8b2f37b0ec
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/SCF/IR/SCF.cpp

  Log Message:
  -----------
  [mlir][SCF] Fix invalid IR in `ParallelOpSingleOrZeroIterationDimsFolder` pattern (#74552)

`ParallelOpSingleOrZeroIterationDimsFolder` used to produce invalid IR:
```
within split at mlir/test/Dialect/SCF/canonicalize.mlir:1 offset :11:3: error: 'scf.parallel' op expects region #0 to have 0 or 1 blocks
  scf.parallel (%i0, %i1, %i2) = (%c0, %c3, %c7) to (%c1, %c6, %c10) step (%c1, %c2, %c3) {
  ^
within split at mlir/test/Dialect/SCF/canonicalize.mlir:1 offset :11:3: note: see current operation:
"scf.parallel"(%4, %5, %3) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>}> ({
^bb0(%arg1: index):
  "memref.store"(%0, %arg0, %1, %arg1, %6) : (i32, memref<?x?x?xi32>, index, index, index) -> ()
  "scf.yield"() : () -> ()
^bb1(%8: index):  // no predecessors
  "scf.yield"() : () -> ()
}) : (index, index, index) -> ()
```

Together with #74551, this commit fixes
`mlir/test/Dialect/SCF/canonicalize.mlir` when verifying the IR after
each pattern application (#74270).


  Commit: 68f0bc6f2e869dc7d3e8394b99fba7052ad8116a
      https://github.com/llvm/llvm-project/commit/68f0bc6f2e869dc7d3e8394b99fba7052ad8116a
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
    M mlir/test/Dialect/MemRef/canonicalize.mlir

  Log Message:
  -----------
  [mlir] Fix a zero stride canonicalizer crash (#74200)

This PR fixes https://github.com/llvm/llvm-project/issues/73383 and is
another shot at the refactoring proposed in
https://github.com/llvm/llvm-project/pull/72885.

---------

Co-authored-by: Kai Sasaki <lewuathe at gmail.com>


  Commit: a05e20b9720f8b012f06f410d92f1f22b55bce74
      https://github.com/llvm/llvm-project/commit/a05e20b9720f8b012f06f410d92f1f22b55bce74
  Author: Kohei Yamaguchi <fix7211 at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/benchmark/python/common.py

  Log Message:
  -----------
  [mlir][benchmark] Fix broken benchmark script (#68841)

The mbr script was broken, so this patch fixes it to follow the latest
python binding.


  Commit: c630f95f33e31fe11ec6242560d9bf5d57007673
      https://github.com/llvm/llvm-project/commit/c630f95f33e31fe11ec6242560d9bf5d57007673
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/Analysis.cpp
    M llvm/tools/llvm-exegesis/lib/Analysis.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SchedClassResolution.cpp
    M llvm/unittests/tools/llvm-exegesis/Mips/SnippetGeneratorTest.cpp
    M llvm/unittests/tools/llvm-exegesis/PowerPC/SnippetGeneratorTest.cpp

  Log Message:
  -----------
  [llvm-exegesis] Remove unnecessary includes (NFC)

Identified with clangd.


  Commit: e8ae0e72b794bc1b879a3a90215a940572306c25
      https://github.com/llvm/llvm-project/commit/e8ae0e72b794bc1b879a3a90215a940572306c25
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
    M mlir/test/Dialect/Transform/test-pattern-application.mlir

  Log Message:
  -----------
  [mlir][transform] TrackingListener: Improve dead handles detection (#74290)

The tracking listener should not report op replacement errors for
payload ops that are not mapped to any live handles. The handle liveless
analysis did not work properly with transform IR that has named
sequences.

A handle is live if it has a user after the transform op that is
currently being applied. With named sequences, we need to maintain a
stack of currently applied transform ops. That stack already exists
(`regionStack`), the only thing that's missing is the current transform
op for each stack frame.

This commit fixes #72931.


  Commit: 7ca94a841c7c557191f278ab68f8358e5b9f6cee
      https://github.com/llvm/llvm-project/commit/7ca94a841c7c557191f278ab68f8358e5b9f6cee
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/Delta.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.h
    M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp

  Log Message:
  -----------
  [llvm-reduce] Remove unnecessary includes (NFC)

Identified with clangd.


  Commit: 114325b86a3d0360afc772c44335fc9092686f58
      https://github.com/llvm/llvm-project/commit/114325b86a3d0360afc772c44335fc9092686f58
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.rst
    M llvm/examples/Kaleidoscope/Chapter8/toy.cpp

  Log Message:
  -----------
  Kaleidoscope-Ch8: use Reloc::PIC_

which has better portability across different OSes.
In addition, on many ELF OSes, this output relocatable file can be
linked without -no-pie.


  Commit: 2ea60f41972dcb3c704c0b31a65a620ffcd9d4f6
      https://github.com/llvm/llvm-project/commit/2ea60f41972dcb3c704c0b31a65a620ffcd9d4f6
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fuse Scope into CallsiteLoc Callee (#74546)

There's an issue in the translator today where, for a CallsiteLoc, if
the callee does not have a DI scope (perhaps due to compile options or
optimizations), it may get propagated the DI scope of its callsite's
parent function, which will create a non-existent DILocation combining
line & col number from one file, and the filename from another.

The root problem is we cannot propagate the parent scope when
translating the callee location, as it no longer applies to inlined
locations (see code diff and hopefully this will make sense).

To facilitate this, the importer is also changed so that callee scopes
are fused with the callee FileLineCol loc, instead of on the Callsite
loc itself. This comes with the benefit that we now have a symmetric
Callsite loc representation. If we required the callee scope be always
annotated on the Callsite loc, it would be hard for generic inlining
passes to maintain that, since it would have to somehow understand the
semantics of the fused metadata and pull it out while inlining.


  Commit: de21308f78f3b0f0910638dbdac90967150d19f0
      https://github.com/llvm/llvm-project/commit/de21308f78f3b0f0910638dbdac90967150d19f0
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    A llvm/test/CodeGen/LoongArch/lasx/vselect.ll
    A llvm/test/CodeGen/LoongArch/lsx/vselect.ll

  Log Message:
  -----------
  [LoongArch] Make ISD::VSELECT a legal operation with lsx/lasx


  Commit: bb4484d41e1ee7856ce71ae0572a724c20d989f2
      https://github.com/llvm/llvm-project/commit/bb4484d41e1ee7856ce71ae0572a724c20d989f2
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  [OpenMPIRBuilder] Add support for target workshare loops (#73360)

The workshare loop for target region uses the new OpenMP device runtime.
The code generation scheme for the new device runtime is presented
below:

Input code:
```
workshare-loop {
  loop-body
}
```

Output code:
helper function which represents loop body:
```
function-loop-body(counter, loop-body-args) {
  loop-body
}
```
workshare-loop is replaced by the proper device runtime call:
```
call __kmpc_new_worksharing_rtl(function-loop-body, loop-body-args,
                                                     loop-tripcount, ...)
```
This PR uses the new device runtime functions which were added in PR:
https://github.com/llvm/llvm-project/pull/73225


  Commit: 40d802a6b6d507c9ae9dc7b0462e54652b42ad39
      https://github.com/llvm/llvm-project/commit/40d802a6b6d507c9ae9dc7b0462e54652b42ad39
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Introduce isBottomOfStack helper. NFC (#74288)

Introduce a helper to check if a function is at the bottom of the stack,
i.e. if it's an entry function or a chain function.
This was suggested in #71913.


  Commit: 08e63dd8feb0933e82d32c306e37f8174eb0d715
      https://github.com/llvm/llvm-project/commit/08e63dd8feb0933e82d32c306e37f8174eb0d715
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir

  Log Message:
  -----------
  AMDGPU: Add a MIR test to catch infinite loop

This is derived from one of the regressions reported
after aed1a2217a1da0c9fb7d2c0856302dee25b1d4a1


  Commit: 19c9f9c0bfc83ebcd4355ee7d5479c542324b332
      https://github.com/llvm/llvm-project/commit/19c9f9c0bfc83ebcd4355ee7d5479c542324b332
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    A llvm/test/MC/AMDGPU/gfx12_asm_smem.s
    M llvm/test/MC/AMDGPU/gfx12_err.s
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt

  Log Message:
  -----------
  [AMDGPU] GFX12: Add s_prefetch_inst/data instructions (#74448)

Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>


  Commit: b304873134e82054b18eb64d5c292d2ff06835b8
      https://github.com/llvm/llvm-project/commit/b304873134e82054b18eb64d5c292d2ff06835b8
  Author: sinan <sinan.lin at linux.alibaba.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M bolt/test/runtime/AArch64/instrumentation-ind-call.c

  Log Message:
  -----------
  [BOLT] Fix a wrong compiler option in test (#74420)

-nopie is an option for OpenBSD, and other linux distribution might
report an `unsupported option '-nopie' for target` error.


  Commit: ea4ce16da2c7105c72ec8a3f265d5949febe6718
      https://github.com/llvm/llvm-project/commit/ea4ce16da2c7105c72ec8a3f265d5949febe6718
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/or.ll

  Log Message:
  -----------
  [ConstraintElim] Use disjoint flag for decomposition (#74478)

Use the or disjoint flag for decomposing or into add, which will handle
cases that haveNoCommonBitsSet() may not be able to reinfer (e.g.
because they require context-sensitive facts, which the call here does
not use.)


  Commit: 641e05decc64c541aa5fd5ce253020178ffe094a
      https://github.com/llvm/llvm-project/commit/641e05decc64c541aa5fd5ce253020178ffe094a
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/test/Conversion/GPUCommon/lower-memory-space-attrs.mlir

  Log Message:
  -----------
  [mlir][gpu] Support dynamic_shared_memory Op with vector dialect (#74475)

`gpu.dynamic_shared_memory` currently does not get lowered when it is
used with vector dialect. The reason is that vector-to-llvm conversion
is not included in gpu-to-nvvm. This PR includes that and adds a test.


  Commit: ecd2f56a80ed2c0ccba990a8d46ed73c994bb5c4
      https://github.com/llvm/llvm-project/commit/ecd2f56a80ed2c0ccba990a8d46ed73c994bb5c4
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    A llvm/test/CodeGen/AMDGPU/min-waves-per-eu-not-respected.ll

  Log Message:
  -----------
  [AMDGPU] Warn if 'amdgpu-waves-per-eu' target occupancy was not met (#74055)

This should make it a bit harder to miss this type of issue. The warning
only shows if amdgpu-waves-per-eu is used.

See SWDEV-434482


  Commit: 8d4977affb78c0b165653b154f644078ad207f64
      https://github.com/llvm/llvm-project/commit/8d4977affb78c0b165653b154f644078ad207f64
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
    M llvm/test/MC/AMDGPU/gfx12_asm_sopk.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt

  Log Message:
  -----------
  [AMDGPU] Update hardware registers for GFX12 (#74445)


  Commit: b3f0fa8bb4316b489ddd7894f88983990bbfa43a
      https://github.com/llvm/llvm-project/commit/b3f0fa8bb4316b489ddd7894f88983990bbfa43a
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][Bazel] Add missing dependency after 641e05decc64c541aa5fd5ce253020178ffe094a


  Commit: 6704d6aadd34e3b984ef6dbe85b18895beee9831
      https://github.com/llvm/llvm-project/commit/6704d6aadd34e3b984ef6dbe85b18895beee9831
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane-x4.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane-x4.ll

  Log Message:
  -----------
  [SME2] Add LUTI2 and LUTI4 quad Builtins and Intrinsics (#73317)

See https://github.com/ARM-software/acle/pull/217

Patch by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>


  Commit: f465a2c83d3c2a142ceba6104f7e7093859efa54
      https://github.com/llvm/llvm-project/commit/f465a2c83d3c2a142ceba6104f7e7093859efa54
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sop2_alias.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt

  Log Message:
  -----------
  [AMDGPU] Add new 64-bit SALU instructions (#74449)


  Commit: 6ed7a8eae65153fbbc1f42139074dcbcab833e81
      https://github.com/llvm/llvm-project/commit/6ed7a8eae65153fbbc1f42139074dcbcab833e81
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    A llvm/test/MC/AMDGPU/gfx12_unsupported.s

  Log Message:
  -----------
  [AMDGPU] Remove s_subvector_loop_begin/end for GFX12 (#74451)


  Commit: 6b1aa319754e76366edd88e10034e0539710d946
      https://github.com/llvm/llvm-project/commit/6b1aa319754e76366edd88e10034e0539710d946
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/temp/temp.decls/temp.alias/p3.cpp
    M clang/test/SemaCXX/alias-template.cpp

  Log Message:
  -----------
  [clang] Substitute alias templates from correct context (#74335)

Current context set to where alias was met, not where it is declared
caused incorrect access check in case alias referenced private members
of the parent class.

Fixes https://github.com/llvm/llvm-project/issues/41693


  Commit: 34df53739af2ce0ffb2625075ee2e613b278969c
      https://github.com/llvm/llvm-project/commit/34df53739af2ce0ffb2625075ee2e613b278969c
  Author: Adam Paszke <apaszke at google.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  Revert "[mlir][Vector] Add fold transpose(shape_cast) -> shape_cast (#73951)" (#74579)

This reverts commit f42b7615b862bb5f77981f619f92877eb20adf54.

The fold pattern is incorrect, because it does not even look at the
permutation of non-unit dims and is happy to replace a pattern such as
```
%22 = vector.shape_cast %21 : vector<1x256x256xf32> to vector<256x256xf32>
%23 = vector.transpose %22, [1, 0] : vector<256x256xf32> to vector<256x256xf32>
```
with
```
%22 = vector.shape_cast %21 : vector<1x256x256xf32> to vector<256x256xf32>
```
which is obviously incorrect.


  Commit: fcd06d774dad1b5bcdc22f5f10a9d5c62c585814
      https://github.com/llvm/llvm-project/commit/fcd06d774dad1b5bcdc22f5f10a9d5c62c585814
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/fir-ops.fir
    M flang/test/HLFIR/call_with_poly_dummy.f90
    M flang/test/Lower/HLFIR/binary-ops.f90
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    M flang/test/Lower/Intrinsics/bessel_jn.f90
    M flang/test/Lower/Intrinsics/bessel_yn.f90
    M flang/test/Lower/Intrinsics/dim.f90
    M flang/test/Lower/Intrinsics/min.f90
    M flang/test/Lower/Intrinsics/modulo.f90
    M flang/test/Lower/Intrinsics/nearest.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/arithmetic-goto.f90
    M flang/test/Lower/array-elemental-calls-2.f90
    M flang/test/Lower/array-expression-slice-1.f90
    M flang/test/Lower/array-user-def-assignments.f90
    M flang/test/Lower/forall/forall-construct.f90
    M flang/test/Lower/forall/forall-where.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/real-operations-2.f90
    M flang/test/Lower/where.f90
    M flang/test/Transforms/simplifyintrinsics.fir
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Dialect/Arith/ops.mlir

  Log Message:
  -----------
  [mlir][flang] add fast math attribute to fcmp (#74315)

`llvm.fcmp` does support fast math attributes therefore so should
`arith.cmpf`.

The heavy churn in flang tests are because flang sets
`fastmath<contract>` by default on all operations that support the fast
math interface. Downstream users of MLIR should not be so effected.

This was requested in https://github.com/llvm/llvm-project/issues/74263


  Commit: bfdc562d0c6ff18ae3a8d618a2cb05c22a04898b
      https://github.com/llvm/llvm-project/commit/bfdc562d0c6ff18ae3a8d618a2cb05c22a04898b
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M libcxx/include/__algorithm/ranges_rotate_copy.h
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/ranges.rotate_copy.pass.cpp

  Log Message:
  -----------
  [libc++] Fix copy-paste damage in `ranges::rotate_copy` and its test (#74544)

Found while running libc++'s tests with MSVC's STL.

`ranges::rotate_copy` takes `forward_iterator`s as this test's comment
banner correctly depicts. However, this test had bogus assertions
expecting that `ranges::rotate_copy` would be constrained away for
not-quite-**bidi** iterators. @philnik777 confirmed that these were
copy-paste relics from the `ranges::reverse_copy` test.

I fixed this by replacing the assertions with the test types that aren't
quite **forward** iterators/ranges. Additionally, I noticed that the
top-level `test()` function was missing coverage with the weakest
possible `forward_iterator<int*>`.

This revealed that the product code in `ranges_rotate_copy.h` was
similarly damaged. In addition to fixing it by taking `forward_iterator`
and `forward_range` as depicted in the Standard, this drops the
inclusion of `<__iterator/reverse_iterator.h>` as this algorithm doesn't
need `std::__reverse_range`.


  Commit: a65363d98965082d4e3e660fa1aee51113104590
      https://github.com/llvm/llvm-project/commit/a65363d98965082d4e3e660fa1aee51113104590
  Author: JP Lehr <JanPatrick.Lehr at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M openmp/libomptarget/test/offloading/barrier_fence.c

  Log Message:
  -----------
  [OpenMP] Disable offloading/barrier_fence test

Unblock build bot, while investigating. Issue is tracked under llvm
https://github.com/llvm/llvm-project/issues/74582


  Commit: 322c7c717b3a3415d6a1c5000752dd51f32341db
      https://github.com/llvm/llvm-project/commit/322c7c717b3a3415d6a1c5000752dd51f32341db
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/slow-unaligned-mem.ll

  Log Message:
  -----------
  [X86] slow-unaligned-mem.ll - improve checks

We can't easily convert this to use the update scripts, but we can manually improve the checks so we check for the right number of stores


  Commit: 46a36af98be29663f9debcd557ef48f62bab6304
      https://github.com/llvm/llvm-project/commit/46a36af98be29663f9debcd557ef48f62bab6304
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/lib/IR/Core.cpp
    M llvm/test/Bindings/llvm-c/echo.ll
    M llvm/tools/llvm-c-test/echo.cpp

  Log Message:
  -----------
  [llvm-c] Add support for setting/getting new disjoint flag on or instructions (#74517)

Follows #73952 doing the same thing for the nneg flag on zext (i.e.,
exposing support in the C API).


  Commit: 17544fa49df3f890ba22280d10cb28dedd789f9f
      https://github.com/llvm/llvm-project/commit/17544fa49df3f890ba22280d10cb28dedd789f9f
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm-c/Core.h

  Log Message:
  -----------
  [NFC][llvm-c] Add full-stop to doc comments

I'd copied and adjusted the doc comments for LLVMGetNNeg and LLVMSetNNeg
in #74517. Nikita pointed out in that review my comments were missing a
full stop, so I'm applying the same fix to these.


  Commit: 84e01450a30eabab571103d2f1195565c0ab851a
      https://github.com/llvm/llvm-project/commit/84e01450a30eabab571103d2f1195565c0ab851a
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

  Log Message:
  -----------
  [mlir][nvvm] Introduce `fence.mbarrier.init` (#74058)

This PR introduce `fence.mbarrier.init` OP


  Commit: 975c05b69db2d23f8d135811d46707a3802ea7fa
      https://github.com/llvm/llvm-project/commit/975c05b69db2d23f8d135811d46707a3802ea7fa
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp

  Log Message:
  -----------
  [Bitcode] Check for missing load type

We perform do this check independently of whether this is an old
or new style load.

Fixes https://github.com/llvm/llvm-project/issues/74556.


  Commit: f12a0ba53ed1bef3bf42f20b2725cc2cac38409a
      https://github.com/llvm/llvm-project/commit/f12a0ba53ed1bef3bf42f20b2725cc2cac38409a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/zero-remat.ll

  Log Message:
  -----------
  [X86] zero-remat.ll - regenerate checks


  Commit: 9db3b8d2537e2e3da8f9a8f8f12cd9263335f4f9
      https://github.com/llvm/llvm-project/commit/9db3b8d2537e2e3da8f9a8f8f12cd9263335f4f9
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/test/Lower/Intrinsics/ieee_compare.f90
    M flang/test/Lower/Intrinsics/ieee_logb.f90
    M flang/test/Lower/Intrinsics/ieee_max_min.f90
    M flang/test/Lower/Intrinsics/ieee_unordered.f90

  Log Message:
  -----------
  [flang] fix broken ieee tests

These tests were broken after
https://github.com/llvm/llvm-project/pull/74315

Fixing them to ignore the fastmath attribute on fcmp


  Commit: f0f899932b8463488c82953667adb18c01147ca8
      https://github.com/llvm/llvm-project/commit/f0f899932b8463488c82953667adb18c01147ca8
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/vector-call-linear-args.ll

  Log Message:
  -----------
  [LV] Linear argument tests for vectorization of function calls (#73936)

Tests to exercise vectorization of function calls where a vector variant
takes a linear parameter.


  Commit: 609d980b3f11d844e50d39fb9266134ddb6cce5b
      https://github.com/llvm/llvm-project/commit/609d980b3f11d844e50d39fb9266134ddb6cce5b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/ARM/aapcs-hfa-code.ll

  Log Message:
  -----------
  [ARM] Regenerate aapcs-hfa-code.ll


  Commit: a9673bd1ca217e46800f3c2b705c1bed01fdc457
      https://github.com/llvm/llvm-project/commit/a9673bd1ca217e46800f3c2b705c1bed01fdc457
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/docs/InternalsManual.rst

  Log Message:
  -----------
  Fix code blocks so that they render properly

It's rather disturbing that malformed syntax does not generate any
warnings or errors when building either locally or on the bots.


  Commit: 3a772c3bfeb9d7641b2914672a55fe5838d748db
      https://github.com/llvm/llvm-project/commit/3a772c3bfeb9d7641b2914672a55fe5838d748db
  Author: Georgios Pinitas <georgios.pinitas at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir

  Log Message:
  -----------
  [mlir][tosa] Add fp16 support to `tosa.resize` (#73019)


  Commit: e8ce1889eee83eb03fbd8d2dc1627f0e97fd26f0
      https://github.com/llvm/llvm-project/commit/e8ce1889eee83eb03fbd8d2dc1627f0e97fd26f0
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/docs/InternalsManual.rst

  Log Message:
  -----------
  Fix a cross reference

Instead of linking to the doxygen documentation, link to the new sphinx
documentation instead.


  Commit: a1b9736e9b588bdb510b49e373006b06f57e61c7
      https://github.com/llvm/llvm-project/commit/a1b9736e9b588bdb510b49e373006b06f57e61c7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp

  Log Message:
  -----------
  [PatternMatch] Add m_c_DisjointOr (NFC)

Add commutative variant of m_DisjointOr.


  Commit: d77067d08a3f56dc2d0e6c95bd2852c943df743a
      https://github.com/llvm/llvm-project/commit/d77067d08a3f56dc2d0e6c95bd2852c943df743a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/test/CodeGenCXX/RelativeVTablesABI/member-function-pointer.cpp
    M clang/test/Headers/__clang_hip_math.hip
    A llvm/include/llvm/Analysis/DomConditionCache.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Analysis/CMakeLists.txt
    A llvm/lib/Analysis/DomConditionCache.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/2007-10-31-RangeCrash.ll
    M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.ll
    M llvm/test/Transforms/InstCombine/cast_phi.ll
    M llvm/test/Transforms/InstCombine/icmp-binop.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
    M llvm/test/Transforms/InstCombine/icmp-ne-pow2.ll
    M llvm/test/Transforms/InstCombine/icmp-of-or-x.ll
    M llvm/test/Transforms/InstCombine/idioms.ll
    M llvm/test/Transforms/InstCombine/known-non-zero.ll
    M llvm/test/Transforms/InstCombine/minmax-of-xor-x.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/sink_instruction.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
    M llvm/test/Transforms/InstCombine/udiv-simplify.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
    M llvm/test/Transforms/PGOProfile/chr.ll
    M llvm/test/Transforms/PhaseOrdering/X86/simplifycfg-late.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
    M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2007-08-01-LCSSA.ll
    M llvm/test/Transforms/SimplifyCFG/merge-cond-stores.ll

  Log Message:
  -----------
  [ValueTracking] Add dominating condition support in computeKnownBits() (#73662)

This adds support for using dominating conditions in computeKnownBits()
when called from InstCombine. The implementation uses a
DomConditionCache, which stores which branches may provide information
that is relevant for a given value.

DomConditionCache is similar to AssumptionCache, but does not try to do
any kind of automatic tracking. Relevant branches have to be explicitly
registered and invalidated values explicitly removed. The necessary
tracking is done inside InstCombine.

The reason why this doesn't just do exactly the same thing as
AssumptionCache is that a lot more transforms touch branches and branch
conditions than assumptions. AssumptionCache is an immutable analysis
and mostly gets away with this because only a handful of places have to
register additional assumptions (mostly as a result of cloning). This is
very much not the case for branches.

This change regresses compile-time by about ~0.2%. It also improves
stage2-O0-g builds by about ~0.2%, which indicates that this change results
in additional optimizations inside clang itself.

Fixes https://github.com/llvm/llvm-project/issues/74242.


  Commit: e59e848805f57bd52ebbb0f7f7d4d951e6af597c
      https://github.com/llvm/llvm-project/commit/e59e848805f57bd52ebbb0f7f7d4d951e6af597c
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/Lower/Bridge.h
    A flang/include/flang/Optimizer/Support/DataLayout.h
    A flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Support/CMakeLists.txt
    A flang/lib/Optimizer/Support/DataLayout.cpp
    A flang/test/Fir/tco-default-datalayout.fir
    A flang/test/Fir/tco-explicit-datalayout.fir
    A flang/test/Lower/bbc-host-datalayout.f90
    A flang/test/Lower/bbc-target-datalayout.f90
    M flang/test/Semantics/realkinds-aarch64-01.f90
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18/CMakeLists.txt
    M flang/tools/tco/tco.cpp
    M flang/unittests/Frontend/FrontendActionTest.cpp

  Log Message:
  -----------
  [flang] Updating drivers to create data layout before semantics (#73301)

Preliminary patch to change lowering/code generation to use
llvm::DataLayout information instead of generating "sizeof" GEP (see
https://github.com/llvm/llvm-project/issues/71507).

Fortran Semantic analysis needs to know about the target type size and
alignment to deal with common blocks, and intrinsics like
C_SIZEOF/TRANSFER. This information should be obtained from the
llvm::DataLayout so that it is consistent during the whole compilation
flow.

This change is changing flang-new and bbc drivers to:
1. Create the llvm::TargetMachine so that the data layout of the target
can be obtained before semantics.
2. Sharing bbc/flang-new set-up of the
SemanticConstext.targetCharateristics from the llvm::TargetMachine. For
now, the actual part that set-up the Fortran type size and alignment
from the llvm::DataLayout is left TODO so that this change is mostly an
NFC impacting the drivers.
3. Let the lowering bridge set-up the mlir::Module datalayout attributes
since it is doing it for the target attribute, and that allows the llvm
data layout information to be available during lowering.

For flang-new, the changes are code shuffling: the `llvm::TargetMachine`
instance is moved to `CompilerInvocation` class so that it can be used
to set-up the semantic contexts. `setMLIRDataLayout` is moved to
`flang/Optimizer/Support/DataLayout.h` (it will need to be used from
codegen pass for fir-opt target independent testing.)), and the code
setting-up semantics targetCharacteristics is moved to
`Tools/TargetSetup.h` so that it can be shared with bbc.

As a consequence, LLVM targets must be registered when running
semantics, and it is not possible to run semantics for a target that is
not registered with the -triple option (hence the power pc specific
modules can only be built if the PowerPC target is available.


  Commit: 50c66600b8c54b24a73e37e0305dd3bf26c19859
      https://github.com/llvm/llvm-project/commit/50c66600b8c54b24a73e37e0305dd3bf26c19859
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll

  Log Message:
  -----------
  [X86][test] Migrate test avx512-broadcast-unfold.ll for opaque pointers


  Commit: e765a8894ac8bbc85c3f7fb097eecc69780fb011
      https://github.com/llvm/llvm-project/commit/e765a8894ac8bbc85c3f7fb097eecc69780fb011
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn

  Log Message:
  -----------
  [gn build] Port d77067d08a3f


  Commit: 6f3bd3a2f609ca2fdb8f2c0f4122b906824ef70f
      https://github.com/llvm/llvm-project/commit/6f3bd3a2f609ca2fdb8f2c0f4122b906824ef70f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
    M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp

  Log Message:
  -----------
  [Libomptarget] Add a utility function for checking existence of symbols (#74550)

Summary:
There are now a few cases that check if a symbol is present before
continuing, effectively making them optional features if present in the
image. This was done in at least three locations and required an ugly
operation to consume the error. This patch makes a utility function to
handle that instead.


  Commit: ef2d59b1456866f441d324ed81b208851df26ef4
      https://github.com/llvm/llvm-project/commit/ef2d59b1456866f441d324ed81b208851df26ef4
  Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/runtime/ISO_Fortran_binding.cpp

  Log Message:
  -----------
  [Flang] malloc(1) on AIX as malloc(0) returns nullptr (#73878)

On AIX malloc(0) reutrns nullptr, which fails test case
`Evaluate/ISO-Fortran-binding.test`, using malloc(1) in AIX for
consistent behaviour

---------

Co-authored-by: Mark Danial <mark.danial at ibm.com>


  Commit: 02d513cf3a700aa3c12cd07ead9828a233f49920
      https://github.com/llvm/llvm-project/commit/02d513cf3a700aa3c12cd07ead9828a233f49920
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.non_unique.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.size.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/mapping.verify.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp

  Log Message:
  -----------
  [libc++][test] Drop unnecessary typename and template for layout_meow::mapping (#74571)

This is a pure syntax cleanup, I don't need it for running libc++'s
tests with MSVC's STL.

This is possible because std::layout_meow and layout_wrapping_integral<1729>
aren't dependent types. We only need typename and template when reaching
into a dependent type, like `typename OtherLayout::template mapping<E2>` or
`typename layout_wrapping_integral<Wraps>::template mapping<Extents>`.


  Commit: bcb917eba70b454a3d11010c45889c364fd4d9ec
      https://github.com/llvm/llvm-project/commit/bcb917eba70b454a3d11010c45889c364fd4d9ec
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.assign/member_swap_noexcept.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.assign/nonmember_swap_noexcept.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.repeat.view/size.pass.cpp

  Log Message:
  -----------
  [libc++][test] Fix more MSVC warnings (#74256)

Found while running libc++'s test suite with MSVC's STL.


  Commit: 3aee4a96289b32386d1a6ccda9bc6bf4fff40e13
      https://github.com/llvm/llvm-project/commit/3aee4a96289b32386d1a6ccda9bc6bf4fff40e13
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M libcxx/include/source_location
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/support/msvc_stdlib_force_include.h
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Update <source_location> and msvc_stdlib_force_include.h (#74266)

This makes libc++'s <filesystem> tests compatible with MSVC's STL.

In msvc_stdlib_force_include.h, we need to define 3 more macros:

- _CRT_DECLARE_NONSTDC_NAMES activates the POSIX names of
  `getcwd` etc. As the comment explains, we need this because
  we test with Clang `-fno-ms-compatibility`, which defines 
  `__STDC__` to `1`, which causes the UCRT headers to disable 
  the POSIX names by default.
- Then we need _CRT_NONSTDC_NO_WARNINGS to avoid emitting
  deprecation warnings about the POSIX names.
- Finally, we need `NOMINMAX` to seal away the ancient evil.

These macros are documented in https://learn.microsoft.com/en-us/cpp/c-runtime-library/compatibility?view=msvc-170.

As a drive-by change, the patch adds a "simulated" macro for 
__has_feature(hwaddress_sanitizer). It also clang-formats all
of msvc_stdlib_force_include.h and removes guards for
__has_builtin(__builtin_source_location) in <source_location>,
since those are not needed anymore.


  Commit: bf454839a1b3e8d2177bec386d81a48ca6dc4733
      https://github.com/llvm/llvm-project/commit/bf454839a1b3e8d2177bec386d81a48ca6dc4733
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/vec_zero_cse.ll

  Log Message:
  -----------
  [X86] vec_zero_cse.ll - replace X32 check prefix with X86

We use X32 for gnux32 triples - X86 should be used for 32-bit triples


  Commit: c4a77bfb62b7caeb8a4d73a09df7e18e438b890f
      https://github.com/llvm/llvm-project/commit/c4a77bfb62b7caeb8a4d73a09df7e18e438b890f
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/test/Semantics/kinds04_q10.f90
    M flang/test/Semantics/real10-x86-01.f90
    M flang/test/Semantics/real10-x86-02.f90

  Log Message:
  -----------
  [flang] Fix PPC and AARCH64 after #73301 (#74591)

After https://github.com/llvm/llvm-project/pull/73301, all semantics
tests using `triple XXX` options need to have a
`REQUIRED: XX-registered-target` since the llvm::TargetMachine is needed
to get the llvm::DataLayout before semantics.

Fix three tests that lacked this.

Fixes:
https://lab.llvm.org/buildbot/#/builders/21/builds/87263
https://lab.llvm.org/buildbot/#/builders/268/builds/3841


  Commit: b0b69fd879a03f3d37b8cd78049d27939de23ce2
      https://github.com/llvm/llvm-project/commit/b0b69fd879a03f3d37b8cd78049d27939de23ce2
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
    M mlir/test/Dialect/ArmSME/arith-ops-to-sme.mlir
    M mlir/test/Dialect/ArmSME/vector-ops-to-sme.mlir

  Log Message:
  -----------
  [mlir][ArmSME] More precisely model dataflow in ArmSME to SCF lowerings (#73922)

Since #73253, loops over tiles in SSA form (i.e. loops that take
`iter_args` and yield a new tile) are supported, so this patch updates
ArmSME lowerings to this form. This is a NFC, as it still lowers to the
same intrinsics, but this makes IR less 'surprising' at a higher-level,
and may be recognised by more transforms.


Example:

IR before:
```mlir
scf.for %tile_slice_index = %c0 to %num_tile_slices step %c1 
{
   arm_sme.move_vector_to_tile_slice 
     %broadcast_to_1d, %tile, %tile_slice_index : 
     vector<[4]xi32> into vector<[4]x[4]xi32>
}
// ... later use %tile
```
IR now:
```mlir
%broadcast_to_tile = scf.for %tile_slice_index = %c0 to %num_tile_slices
    step %c1 iter_args(%iter_tile = %init_tile) -> (vector<[4]x[4]xi32>)
{
   %tile_update = arm_sme.move_vector_to_tile_slice
      %broadcast_to_1d, %iter_tile, %tile_slice_index :
      vector<[4]xi32> into vector<[4]x[4]xi32>
  scf.yield %tile_update : vector<[4]x[4]xi32>
}
// ... later use %broadcast_to_tile
```


  Commit: 721558ae40ebc996b6a8d51e3d5147f5a8c7d008
      https://github.com/llvm/llvm-project/commit/721558ae40ebc996b6a8d51e3d5147f5a8c7d008
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseOpenACC.cpp
    A clang/test/ParserOpenACC/parse-cache-construct.c
    A clang/test/ParserOpenACC/parse-cache-construct.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'cache' construct parsing (#74324)

The 'cache' construct takes a list of 'vars', which are array-section
style definitions. This patch implements the parsing, leaving the lower
bound and length of the bound as expressions, so that we can validate
they are the correct 'thing' in sema.


  Commit: 30faf19a88c56d064bc372fa325345d35d82902c
      https://github.com/llvm/llvm-project/commit/30faf19a88c56d064bc372fa325345d35d82902c
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane-x2.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane-x2.ll

  Log Message:
  -----------
  [SME2] Add LUTI2 and LUTI4 double Builtins and Intrinsics (#73305)

See https://github.com/ARM-software/acle/pull/217

Patch by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>


  Commit: 56eb3e738a093d354c5e638eded8d34fbd10f959
      https://github.com/llvm/llvm-project/commit/56eb3e738a093d354c5e638eded8d34fbd10f959
  Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrFPStack.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/CodeGen/X86/swifterror.ll

  Log Message:
  -----------
  [X86] Set x87 fld1/fldz pseudo instructions as rematerializable (#74592)

No need to generate/spill/restore to cpu stack

Cleanup work to allow us to properly use isFPImmLegal and fix some regressions encountered while looking at #74304


  Commit: b8bc2351b8fde6da3bff34c1507391d3714427cc
      https://github.com/llvm/llvm-project/commit/b8bc2351b8fde6da3bff34c1507391d3714427cc
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll

  Log Message:
  -----------
  [X86][test] Simplify test avx512-broadcast-unfold.ll (#74593)

The test was updated by

opt -passes=early-cse -S
llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll


  Commit: 546a9ce80cac8fe73d239496010ae84972da3ca8
      https://github.com/llvm/llvm-project/commit/546a9ce80cac8fe73d239496010ae84972da3ca8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    A llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir

  Log Message:
  -----------
  CodeGen: Fix bypassing legality checks for IMPLICIT_DEF rematerialization (#73934)

It's permitted to have extra implicit-def operands of the same main
register
after the main register def. If there are implicit operands, use the
standard
legality checks which verify the operand contents.

Depends #73933


  Commit: a599a6128c2e0032f4b5f05647987f0c8f112932
      https://github.com/llvm/llvm-project/commit/a599a6128c2e0032f4b5f05647987f0c8f112932
  Author: kkwli <kkwli at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/unittests/Runtime/MatmulTranspose.cpp

  Log Message:
  -----------
  [flang] match the actual data size with the KIND (NFC) (#73179)


  Commit: 8d0fb9f6372ac558380b4771f673bd16ec4030a1
      https://github.com/llvm/llvm-project/commit/8d0fb9f6372ac558380b4771f673bd16ec4030a1
  Author: kkwli <kkwli at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/unittests/Runtime/CommandTest.cpp

  Log Message:
  -----------
  [flang] Make the length size matched in comparison (NFC) (#73280)

The template function call `CheckDescriptorEqInt(length.get(), 16)` is
deduced to have `INT_T` equal to `std::int32_t` instead of
`std::int64_t`, but the length descriptor points to a 64-byte storage.
The comparison does not work in a big endian.


  Commit: 26f8e1461e24bd71dcd409d1fe88ddc1c7cf5da1
      https://github.com/llvm/llvm-project/commit/26f8e1461e24bd71dcd409d1fe88ddc1c7cf5da1
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/ParserOpenACC/unimplemented.c
    M clang/test/ParserOpenACC/unimplemented.cpp

  Log Message:
  -----------
  [OpenACC] NFC: Stop using 'getSpelling' while parsing OpenACC

It was brought up during the cache review that we shouldn't be using
'getSpelling', and instead should use the IdentifierInfo itself.  This
patch replaces all uses of it.


  Commit: 02c218c6fbbf4a3eec600618b4e8f3b44754b686
      https://github.com/llvm/llvm-project/commit/02c218c6fbbf4a3eec600618b4e8f3b44754b686
  Author: Samuel Tebbs <samuel.tebbs at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaChecking.cpp

  Log Message:
  -----------
  [Clang][NFC] Refactor out code from CheckSVEBuiltinFunctionCall into ParseSVEImmChecks

This moves code from CheckSVEBuiltinFunctionCall into ParseSVEImmChecks
in preparation for #74064


  Commit: 10f7801cff26732b9a757ed42a1e2b89021a61d8
      https://github.com/llvm/llvm-project/commit/10f7801cff26732b9a757ed42a1e2b89021a61d8
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP.cpp

  Log Message:
  -----------
  [flang] Move `genCommonBlockMember` from OpenMP to ConvertVariable, NFC (#74488)

The function `genCommonBlockMember` is not specific to OpenMP, and it
could very well be a common utility. Move it to ConvertVariable.cpp
where it logically belongs.


  Commit: b7173652163fa968e1df47fa211ce8a549489abd
      https://github.com/llvm/llvm-project/commit/b7173652163fa968e1df47fa211ce8a549489abd
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h

  Log Message:
  -----------
  [MachineScheduler][NFCI] Add Offset and OffsetIsScalable args to shouldClusterMemOps (#73778)

These are picked up from getMemOperandsWithOffsetWidth but weren't then
being passed through to shouldClusterMemOps, which forces backends to
collect the information again if they want to use the kind of heuristics
typically used for the similar shouldScheduleLoadsNear function (e.g.
checking the offset is within 1 cache line).

This patch just adds the parameters, but doesn't attempt to use them.
There is potential to use them in the current PPC and AArch64
shouldClusterMemOps implementation, and I intend to use the offset in
the heuristic for RISC-V. I've left these for future patches in the
interest of being as incremental as possible.

As noted in the review and in an inline FIXME, an ElementCount-style abstraction may later be used to condense these two parameters to one argument. ElementCount isn't quite suitable as it doesn't support negative offsets.


  Commit: c7b3ae5ab9c8ffc19db00bd6e995d225ac1013e9
      https://github.com/llvm/llvm-project/commit/c7b3ae5ab9c8ffc19db00bd6e995d225ac1013e9
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c

  Log Message:
  -----------
  [AArch64][SME2] Add multi-vector builtins for cvt (#74450)

Adds builtins for:
- FCVT
- BFCVT
- FCVTZS
- FCVTZU
- SCVTF
- UCVTF
- BFCVTN
- FCVTN
- SQCVT
- SQCVTU
- UQCVT
- SQCVTN
- SQCVTUN
- UQCVTN

See https://github.com/ARM-software/acle/pull/217


  Commit: 1f283a60a4bb896fa2d37ce00a3018924be82b9f
      https://github.com/llvm/llvm-project/commit/1f283a60a4bb896fa2d37ce00a3018924be82b9f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    A llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
    M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
    A llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
    A llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir

  Log Message:
  -----------
  Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

This reverts commit 9e50c6e6b5741895f58f3e530004052844b6af9f. A few assertion and verifier
errors have been fixed in the coalescer and allocator, so hopefully this sticks this time.


  Commit: 8186e1500b1d9709f10199b7c599274f8a6f8e3a
      https://github.com/llvm/llvm-project/commit/8186e1500b1d9709f10199b7c599274f8a6f8e3a
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane.ll

  Log Message:
  -----------
  [SME2] Add LUTI2 and LUTI4 single Builtins and Intrinsics (#73304)

See https://github.com/ARM-software/acle/pull/217

Patch by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>


  Commit: 88fbc4d3df7c24105eb36232ff6250da95c8a202
      https://github.com/llvm/llvm-project/commit/88fbc4d3df7c24105eb36232ff6250da95c8a202
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/test/Analysis/StackSafetyAnalysis/ipa.ll
    M llvm/test/Assembler/thinlto-summary.ll
    M llvm/test/Bitcode/thinlto-alias.ll
    M llvm/test/Bitcode/thinlto-alias2.ll
    M llvm/test/Bitcode/thinlto-asm-noimport.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-cast.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary-functionattrs.ll
    M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
    M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
    M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary.ll
    M llvm/test/Bitcode/thinlto-summary-linkage-types.ll
    M llvm/test/Bitcode/thinlto-summary-section.ll
    M llvm/test/ThinLTO/X86/deadstrip.ll
    M llvm/test/ThinLTO/X86/distributed_indexes.ll

  Log Message:
  -----------
  [ThinLTO] Add tail call flag to call edges in summary (#74043)

This adds support for a HasTailCall flag on function call edges in the
ThinLTO summary. It is intended for use in aiding discovery of missing
frames from tail calls in profiled call stacks for MemProf of profiled
binaries that did not disable tail call elimination. A follow on change
will add the use of this new flag during MemProf context disambiguation.

The new flag is encoded in the bitcode along with either the hotness
flag from the profile, or the relative block frequency under the
-write-relbf-to-summary flag when there is no profile data.
Because we now will always have some additional call edge information, I
have removed the non-profile function summary record format, and we
simply encode the tail call flag along with a hotness type of none when
there is no profile information or relative block frequency. The change
of record format and name caused most of the test case changes.

I have added explicit testing of generation of the new tail call flag
into the bitcode and IR assembly format as part of the changes to
llvm/test/Bitcode/thinlto-function-summary-refgraph.ll. I have also
added round trip testing through assembly and bitcode to
llvm/test/Assembler/thinlto-summary.ll.


  Commit: 03656776923b699dd4fc16dcde6495a4d12b7886
      https://github.com/llvm/llvm-project/commit/03656776923b699dd4fc16dcde6495a4d12b7886
  Author: Michael Kenzel <michael.kenzel at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M libcxx/test/support/container_debug_tests.h
    M libcxx/test/support/test_macros.h
    M libcxxabi/src/demangle/DemangleConfig.h

  Log Message:
  -----------
  [libc++] Remove dependence on <ciso646> (#73271)

C++23 removed `<ciso646>` from the standard library. The header is used
in a few places in order to pull in implementation-specific and feature
test macros. The new way of doing that is `<version>`, which should be
supported by all supported implementations. This change replaces all
those uses of `<ciso646>` with `<version>`.


  Commit: 565dddec6396d84befa122aa69634b055a60da17
      https://github.com/llvm/llvm-project/commit/565dddec6396d84befa122aa69634b055a60da17
  Author: Podchishchaeva, Mariya <mariya.podchishchaeva at intel.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/temp/temp.decls/temp.alias/p3.cpp
    M clang/test/SemaCXX/alias-template.cpp

  Log Message:
  -----------
  Revert "[clang] Substitute alias templates from correct context (#74335)"

It was reported in the PR that commit caused clang giving errors for
code previously considered valid.
This reverts commit 6b1aa319754e76366edd88e10034e0539710d946.


  Commit: 384f916ea899ea6ac9af4a3fb9d0a5b03937acfe
      https://github.com/llvm/llvm-project/commit/384f916ea899ea6ac9af4a3fb9d0a5b03937acfe
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp

  Log Message:
  -----------
  Reapply 34cdc913214fd (#74455), call-site-splitting for RemoveDIs

Original commit message below; asan complained about this commit because it
transpires that the final comparison with CurrentI is in fact a comparison
of a pointer that has been freed. This seems to work fine most of the time,
but using the iterator for such an instruction causes the freed instruction
memory to be accessed, causing a use-after-free. The fix is to perform the
comparison as an instruction, not an iterator.

[NFC][DebugInfo][RemoveDIs] Use iterators to insert in callsite-splitting (#74455)

This patch gets call site splitting to use iterators for insertion
rather than instruction pointers. When we switch on non-instr debug-info
this becomes significant, as the iterators are going to signal whether
or not a position is before or after debug-info.

NFC as this isn't going to affect the output of any existing test.


  Commit: 7b83f69db4a57c63c230d45ca2dc52b024612c17
      https://github.com/llvm/llvm-project/commit/7b83f69db4a57c63c230d45ca2dc52b024612c17
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/Analysis/VFABIDemangling.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
    M llvm/unittests/Analysis/VectorFunctionABITest.cpp
    M llvm/unittests/Analysis/VectorUtilsTest.cpp

  Log Message:
  -----------
  [NFC] Replace CallInst with FunctionType in VFABI, VFShape API (#74569)

Minor simplification applied to VFShape::getScalarShape,
VFShape::get, and VFABI::tryDemangleForVFABI methods.

Also, remove unnecessary `static_cast` in `SLPVectorizer.cpp`


  Commit: d0858bffa11e418c257b2573acbf4a3901d5dcb1
      https://github.com/llvm/llvm-project/commit/d0858bffa11e418c257b2573acbf4a3901d5dcb1
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    A llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Maintain DPValues on skipped instrs in CGP (#74602)

It turns out that CodeGenPrepare will skip over consecutive select
instructions as it knows it can optimise them all at the same time. This
is unfortunate for the RemoveDIs project to remove intrinsic-based
debug-info, because that means debug-info attached to those skipped
instructions doesn't get seen by optimizeInst and so updated. Add code
to handle debug-info on those skipped instructions manually.

This code will also have been slower when it had dbg.values stuffed in
between instructions, but with RemoveDIs it'll go faster because the
dbg.values won't break up the select sequence.


  Commit: 341a51aac4b344c96d9d8774cf97a57cad76a9f4
      https://github.com/llvm/llvm-project/commit/341a51aac4b344c96d9d8774cf97a57cad76a9f4
  Author: Reid Kleckner <rnk at google.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h

  Log Message:
  -----------
  [mlir] Fix shift overflow and warning on LLP64 platforms (Windows) (#74002)


  Commit: 5b0db27aceb46e66d9c14e950a546cba5fb33a2a
      https://github.com/llvm/llvm-project/commit/5b0db27aceb46e66d9c14e950a546cba5fb33a2a
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp

  Log Message:
  -----------
  [mlir][sparse] remove LoopOrd type (#74540)

Rationale:
We no longer deal with topsort during sparsification, so that LoopId ==
LoopOrd for all methods. This first revision removes the types. A follow
up revision will simplify some other remaining constructs that deal with
loop order (e.g. at and ldx).


  Commit: 56248caa3b427b0c0700f910d0b7b3e1b175bff1
      https://github.com/llvm/llvm-project/commit/56248caa3b427b0c0700f910d0b7b3e1b175bff1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

  Log Message:
  -----------
  [InstCombine] Explicitly set disjoint flag when converting xor to or. (#74229)


  Commit: f85a38e21cfa1d5723ab4af4b76fd7529f2688b2
      https://github.com/llvm/llvm-project/commit/f85a38e21cfa1d5723ab4af4b76fd7529f2688b2
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll

  Log Message:
  -----------
  Follow up to d0858bffa11, add missing REQUIRES x86


  Commit: 3f73fd774cf8fc2f288767ea077bfa351eb7aa80
      https://github.com/llvm/llvm-project/commit/3f73fd774cf8fc2f288767ea077bfa351eb7aa80
  Author: Julian Schmidt <44101708+5chmidti at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-numbers.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp

  Log Message:
  -----------
  [clang-tidy] add modernize-use-std-numbers (#66583)

Finds constants and function calls to math functions that can be
replaced with c++20's mathematical constants from the 'numbers' 
header and offers fix-it hints.
Does not match the use of variables with that value, and instead,
offers a replacement at the definition of those variables.


  Commit: 9bad6cb7fc571821bfacc8926a8a7f5d147ce540
      https://github.com/llvm/llvm-project/commit/9bad6cb7fc571821bfacc8926a8a7f5d147ce540
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 3f73fd774cf8


  Commit: 0e1a9e3084cd8dffa5d4f2cf6eabf9e7721e1cdd
      https://github.com/llvm/llvm-project/commit/0e1a9e3084cd8dffa5d4f2cf6eabf9e7721e1cdd
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
    A llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll

  Log Message:
  -----------
  [SLP]Fix PR74607: Fix dependency between buildvector nodes with user
nodes, having same last instruction.

If the user nodes has the same last-instruction, used as insert points
for the buildvector nodes, finding the proper dependency is crucial.
  Before, it depended on the indices of the buildvectors themselves but
  looks like it should depend on indices of the user nodes, because it
  identifies the vectorization order and, thus, properly aligns
  buildvector nodes in terms of def-use chain.


  Commit: 65cb5d58eb5783c17fd2121db79ebac950b767b2
      https://github.com/llvm/llvm-project/commit/65cb5d58eb5783c17fd2121db79ebac950b767b2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td

  Log Message:
  -----------
  [RISCV] Remove DecoderNamespace from vector pseudoinstructions.

Pseudoinstructions don't have decoding information so don't need
a namespace.


  Commit: fd1b139e446f3791e9f01cba4cff6495f4b2b6b6
      https://github.com/llvm/llvm-project/commit/fd1b139e446f3791e9f01cba4cff6495f4b2b6b6
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    A bolt/test/AArch64/fp-reg-spill.s
    M bolt/test/runtime/AArch64/instrumentation-ind-call.c
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-numbers.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/compilation-database/template.json
    M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-run-with-database.cpp
    M clang/docs/InternalsManual.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Rewrite/Rewriter.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/CXX/drs/dr6xx.cpp
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
    M clang/test/CodeGen/attr-target-clones.c
    M clang/test/CodeGenCXX/RelativeVTablesABI/member-function-pointer.cpp
    M clang/test/CodeGenCXX/attr-target-clones.cpp
    M clang/test/Driver/aarch64-thread-pointer.c
    M clang/test/Driver/arm-arch-darwin.c
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Headers/arm-neon-header.c
    A clang/test/ParserOpenACC/parse-cache-construct.c
    A clang/test/ParserOpenACC/parse-cache-construct.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/ParserOpenACC/unimplemented.c
    M clang/test/ParserOpenACC/unimplemented.cpp
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M clang/tools/clang-format/git-clang-format
    M clang/utils/TableGen/SveEmitter.cpp
    M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
    M compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    A flang/include/flang/Optimizer/Support/DataLayout.h
    A flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Support/CMakeLists.txt
    A flang/lib/Optimizer/Support/DataLayout.cpp
    M flang/runtime/ISO_Fortran_binding.cpp
    M flang/runtime/exceptions.cpp
    M flang/runtime/unit.cpp
    A flang/test/Driver/compiler-options.f90
    R flang/test/Driver/compiler_options.f90
    A flang/test/Driver/fast-math.f90
    R flang/test/Driver/fast_math.f90
    A flang/test/Driver/flang-f-opts.f90
    R flang/test/Driver/flang_f_opts.f90
    A flang/test/Driver/no-duplicate-main.f90
    R flang/test/Driver/no_duplicate_main.f90
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/fir-ops.fir
    A flang/test/Fir/tco-default-datalayout.fir
    A flang/test/Fir/tco-explicit-datalayout.fir
    M flang/test/HLFIR/call_with_poly_dummy.f90
    M flang/test/Lower/HLFIR/binary-ops.f90
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    M flang/test/Lower/Intrinsics/bessel_jn.f90
    M flang/test/Lower/Intrinsics/bessel_yn.f90
    M flang/test/Lower/Intrinsics/dim.f90
    M flang/test/Lower/Intrinsics/ieee_compare.f90
    M flang/test/Lower/Intrinsics/ieee_logb.f90
    M flang/test/Lower/Intrinsics/ieee_max_min.f90
    M flang/test/Lower/Intrinsics/ieee_unordered.f90
    M flang/test/Lower/Intrinsics/min.f90
    M flang/test/Lower/Intrinsics/modulo.f90
    M flang/test/Lower/Intrinsics/nearest.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/arithmetic-goto.f90
    M flang/test/Lower/array-elemental-calls-2.f90
    M flang/test/Lower/array-expression-slice-1.f90
    M flang/test/Lower/array-user-def-assignments.f90
    A flang/test/Lower/bbc-host-datalayout.f90
    A flang/test/Lower/bbc-target-datalayout.f90
    M flang/test/Lower/forall/forall-construct.f90
    M flang/test/Lower/forall/forall-where.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/real-operations-2.f90
    M flang/test/Lower/where.f90
    M flang/test/Semantics/kinds04_q10.f90
    M flang/test/Semantics/real10-x86-01.f90
    M flang/test/Semantics/real10-x86-02.f90
    M flang/test/Semantics/realkinds-aarch64-01.f90
    M flang/test/Transforms/simplifyintrinsics.fir
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18/CMakeLists.txt
    M flang/tools/tco/tco.cpp
    M flang/unittests/Frontend/FrontendActionTest.cpp
    M flang/unittests/Runtime/CommandTest.cpp
    M flang/unittests/Runtime/MatmulTranspose.cpp
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/sys/prctl.h.def
    M libc/src/__support/wctype_utils.h
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/prctl/CMakeLists.txt
    A libc/src/sys/prctl/linux/CMakeLists.txt
    A libc/src/sys/prctl/linux/prctl.cpp
    A libc/src/sys/prctl/prctl.h
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/prctl/CMakeLists.txt
    A libc/test/src/sys/prctl/linux/CMakeLists.txt
    A libc/test/src/sys/prctl/linux/prctl_test.cpp
    M libcxx/include/__algorithm/ranges_rotate_copy.h
    M libcxx/include/source_location
    M libcxx/include/version
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.non_unique.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.size.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/ranges.rotate_copy.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/mapping.verify.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.assign/member_swap_noexcept.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.assign/nonmember_swap_noexcept.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.repeat.view/size.pass.cpp
    M libcxx/test/support/container_debug_tests.h
    M libcxx/test/support/msvc_stdlib_force_include.h
    M libcxx/test/support/test_macros.h
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxxabi/src/demangle/DemangleConfig.h
    M lld/COFF/Config.h
    M lld/COFF/Driver.cpp
    M lld/COFF/Options.td
    M lld/COFF/Writer.cpp
    M lld/MinGW/Driver.cpp
    M lld/MinGW/Options.td
    M lld/test/COFF/debug-reloc.s
    M lld/test/COFF/rsds.test
    M lld/test/MinGW/driver.test
    M lldb/include/lldb/Expression/DiagnosticManager.h
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.rst
    M llvm/examples/Kaleidoscope/Chapter8/toy.cpp
    M llvm/include/llvm-c/Core.h
    A llvm/include/llvm/Analysis/DomConditionCache.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/include/llvm/XRay/BlockVerifier.h
    M llvm/lib/Analysis/CMakeLists.txt
    A llvm/lib/Analysis/DomConditionCache.cpp
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/Analysis/VFABIDemangling.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.h
    M llvm/lib/Target/X86/X86Instr3DNow.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86InstrFPStack.td
    M llvm/lib/Target/X86/X86InstrFormats.td
    A llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.td
    M llvm/lib/Target/X86/X86InstrMisc.td
    A llvm/lib/Target/X86/X86InstrOperands.td
    A llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    A llvm/lib/Target/X86/X86InstrUtils.td
    M llvm/lib/Target/X86/X86InstrVMX.td
    M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/XRay/BlockVerifier.cpp
    M llvm/test/Analysis/StackSafetyAnalysis/ipa.ll
    M llvm/test/Assembler/thinlto-summary.ll
    M llvm/test/Bindings/llvm-c/echo.ll
    M llvm/test/Bitcode/thinlto-alias.ll
    M llvm/test/Bitcode/thinlto-alias2.ll
    M llvm/test/Bitcode/thinlto-asm-noimport.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-cast.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary-functionattrs.ll
    M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
    M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
    M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary.ll
    M llvm/test/Bitcode/thinlto-summary-linkage-types.ll
    M llvm/test/Bitcode/thinlto-summary-section.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
    A llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane-x2.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane-x4.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane-x2.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane-x4.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    A llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
    A llvm/test/CodeGen/AMDGPU/min-waves-per-eu-not-respected.ll
    M llvm/test/CodeGen/ARM/aapcs-hfa-code.ll
    A llvm/test/CodeGen/LoongArch/lasx/vselect.ll
    A llvm/test/CodeGen/LoongArch/lsx/vselect.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll
    M llvm/test/CodeGen/RISCV/vararg.ll
    M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
    A llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
    M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
    A llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
    M llvm/test/CodeGen/X86/slow-unaligned-mem.ll
    A llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
    M llvm/test/CodeGen/X86/swifterror.ll
    M llvm/test/CodeGen/X86/vec_zero_cse.ll
    M llvm/test/CodeGen/X86/zero-remat.ll
    A llvm/test/MC/AMDGPU/gfx12_asm_smem.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sop2_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sopk.s
    M llvm/test/MC/AMDGPU/gfx12_err.s
    A llvm/test/MC/AMDGPU/gfx12_unsupported.s
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt
    A llvm/test/MC/Disassembler/X86/apx/invept.txt
    A llvm/test/MC/Disassembler/X86/apx/invvpid.txt
    A llvm/test/MC/X86/apx/invept-att.s
    A llvm/test/MC/X86/apx/invept-intel.s
    A llvm/test/MC/X86/apx/invvpid-att.s
    A llvm/test/MC/X86/apx/invvpid-intel.s
    M llvm/test/ThinLTO/X86/deadstrip.ll
    M llvm/test/ThinLTO/X86/distributed_indexes.ll
    A llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll
    M llvm/test/Transforms/ConstraintElimination/or.ll
    M llvm/test/Transforms/InstCombine/2007-10-31-RangeCrash.ll
    M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.ll
    M llvm/test/Transforms/InstCombine/cast_phi.ll
    M llvm/test/Transforms/InstCombine/icmp-binop.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
    M llvm/test/Transforms/InstCombine/icmp-ne-pow2.ll
    M llvm/test/Transforms/InstCombine/icmp-of-or-x.ll
    M llvm/test/Transforms/InstCombine/idioms.ll
    M llvm/test/Transforms/InstCombine/known-non-zero.ll
    M llvm/test/Transforms/InstCombine/minmax-of-xor-x.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/sink_instruction.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
    M llvm/test/Transforms/InstCombine/udiv-simplify.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/vector-call-linear-args.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
    M llvm/test/Transforms/PGOProfile/chr.ll
    M llvm/test/Transforms/PhaseOrdering/X86/simplifycfg-late.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
    M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
    M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
    A llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2007-08-01-LCSSA.ll
    M llvm/test/Transforms/SimplifyCFG/merge-cond-stores.ll
    M llvm/tools/lli/lli.cpp
    M llvm/tools/llvm-c-test/echo.cpp
    M llvm/tools/llvm-exegesis/lib/Analysis.cpp
    M llvm/tools/llvm-exegesis/lib/Analysis.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SchedClassResolution.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.h
    M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
    M llvm/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
    M llvm/unittests/Analysis/VectorFunctionABITest.cpp
    M llvm/unittests/Analysis/VectorUtilsTest.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
    M llvm/unittests/tools/llvm-exegesis/Mips/SnippetGeneratorTest.cpp
    M llvm/unittests/tools/llvm-exegesis/PowerPC/SnippetGeneratorTest.cpp
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
    M mlir/benchmark/python/common.py
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
    A mlir/include/mlir/Target/LLVMIR/Dialect/SPIRV/SPIRVToLLVMIRTranslation.h
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
    M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Target/LLVMIR/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
    A mlir/lib/Target/LLVMIR/Dialect/SPIRV/CMakeLists.txt
    A mlir/lib/Target/LLVMIR/Dialect/SPIRV/SPIRVToLLVMIRTranslation.cpp
    M mlir/test/CMakeLists.txt
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
    M mlir/test/Conversion/GPUCommon/lower-memory-space-attrs.mlir
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
    M mlir/test/Dialect/Arith/ops.mlir
    M mlir/test/Dialect/ArmSME/arith-ops-to-sme.mlir
    M mlir/test/Dialect/ArmSME/vector-ops-to-sme.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/Shape/canonicalize.mlir
    M mlir/test/Dialect/Transform/test-pattern-application.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir
    A mlir/test/Integration/GPU/SYCL/gpu-addf32-to-spirv.mlir
    A mlir/test/Integration/GPU/SYCL/gpu-addi64-to-spirv.mlir
    A mlir/test/Integration/GPU/SYCL/gpu-reluf32-to-spirv.mlir
    A mlir/test/Integration/GPU/SYCL/lit.local.cfg
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/gpu.mlir
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/lit.cfg.py
    M mlir/test/lit.site.cfg.py.in
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
    M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/omptarget.cpp
    A openmp/libomptarget/test/Inputs/declare_indirect_func.c
    M openmp/libomptarget/test/offloading/barrier_fence.c
    A openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  fix formatting

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/a28037b374e2...fd1b139e446f


More information about the All-commits mailing list