[all-commits] [llvm/llvm-project] e8a3b7: [msan] Precommit tests.

Vitaly Buka via All-commits all-commits at lists.llvm.org
Wed Apr 10 15:09:53 PDT 2024


  Branch: refs/heads/users/vitalybuka/spr/main.clangbuiltin-implement-__builtin_allow_runtime_check
  Home:   https://github.com/llvm/llvm-project
  Commit: e8a3b72272e3e67e94ee9d7144d3c8292c49e868
      https://github.com/llvm/llvm-project/commit/e8a3b72272e3e67e94ee9d7144d3c8292c49e868
  Author: Evgenii Stepanov <eugenis at google.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/overflow.ll
    A llvm/test/Instrumentation/MemorySanitizer/saturating.ll

  Log Message:
  -----------
  [msan] Precommit tests.

Precommit tests for overflowing and saturating arithmetic intrinsics.


  Commit: 9760872b537ba8e6eee2e68eb81b7d26af5b40e4
      https://github.com/llvm/llvm-project/commit/9760872b537ba8e6eee2e68eb81b7d26af5b40e4
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

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

  Log Message:
  -----------
  [bazel][libc] Add missing fenv dep for rint test template

For 49561181bdc8698aa28ee2a46d2faa4cf6767bbe.


  Commit: 36e25772ddd049c8c742e55fbd2b3c9aaceb7060
      https://github.com/llvm/llvm-project/commit/36e25772ddd049c8c742e55fbd2b3c9aaceb7060
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/test/APINotes/instancetype.m

  Log Message:
  -----------
  clang/test/APINotes/instancetype.m: Clean the cache dir

It has been incompatible since #87761


  Commit: 892f01a7437b20f5df3edf53824a53889f733b06
      https://github.com/llvm/llvm-project/commit/892f01a7437b20f5df3edf53824a53889f733b06
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h

  Log Message:
  -----------
  Remove the assertion to unblock breakages (#88035)

as titled.


  Commit: ee52add6cb4a6a4ba4beb941c1f2cfa82266e0df
      https://github.com/llvm/llvm-project/commit/ee52add6cb4a6a4ba4beb941c1f2cfa82266e0df
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/active_lane_mask.ll

  Log Message:
  -----------
  [RISCV][TTI] Implement cost of intrinsic active_lane_mask (#87931)

This patch uses the argument type to infer the LMUL cost for the index
generation, add, and comparison.


  Commit: 44c79da3ae90795ca8b252e8a92910eee9d889c0
      https://github.com/llvm/llvm-project/commit/44c79da3ae90795ca8b252e8a92910eee9d889c0
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/shl-demand.ll

  Log Message:
  -----------
  [InstCombine] Remove shl if we only demand known signbits of shift source (#79014)

This patch resolve TODO written in commit:
https://github.com/llvm/llvm-project/commit/5909c678831f3a5c1669f6906f777d4ec4532fa1

Proof: https://alive2.llvm.org/ce/z/C3VNoR


  Commit: 1aceee7bb6c4423da73f71aff2004493bdf620d1
      https://github.com/llvm/llvm-project/commit/1aceee7bb6c4423da73f71aff2004493bdf620d1
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/lib/Transforms/IPO/SampleProfile.cpp

  Log Message:
  -----------
  Remove unused variable (#88223)

fix the CI


  Commit: e0219f2d53686135b7363450b44877342a960e71
      https://github.com/llvm/llvm-project/commit/e0219f2d53686135b7363450b44877342a960e71
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M lldb/cmake/caches/Apple-lldb-Linux.cmake

  Log Message:
  -----------
  [lldb] Overwrite existing LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES
on apple-linux


  Commit: 349327f7e73ab7a314ef08c463dd04fcea623150
      https://github.com/llvm/llvm-project/commit/349327f7e73ab7a314ef08c463dd04fcea623150
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M clang/lib/Headers/intrin.h

  Log Message:
  -----------
  [ARM64EC] Make intrin.h include arm64intrin.h.

Fixes compiling windows.h using clang's intrin.h.


  Commit: 4c6ae8ebb69525118e7fc3cf57908e9de74ebef9
      https://github.com/llvm/llvm-project/commit/4c6ae8ebb69525118e7fc3cf57908e9de74ebef9
  Author: Karthika Devi C <quic_kartc at quicinc.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M polly/lib/Support/GICHelper.cpp
    M polly/lib/Transform/MatmulOptimizer.cpp

  Log Message:
  -----------
  [polly] Fix cppcheck SA comments reported in #82263 (#85749)

This patch addresses the (performance )suggestions by checkcpp static
analyzer for couple of files. Here we use const reference for the
suggested function arguments.
Fixes #82263.


  Commit: 71097e927141e278dd92e847e67f636526510a31
      https://github.com/llvm/llvm-project/commit/71097e927141e278dd92e847e67f636526510a31
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/CodeGenCXX/arm64ec-vectorcall.cpp

  Log Message:
  -----------
  [ARM64EC] Add support for parsing __vectorcall (#87725)

MSVC doesn't support generating __vectorcall calls in Arm64EC mode, but
it does treat it as a distinct type. The Microsoft STL depends on this
functionality. (Not sure if this is intentional.) Add support for
parsing the same way as MSVC, and add some checks to ensure we don't try
to actually generate code.

The error handling in CodeGen is ugly, but I can't think of a better way
to do it.


  Commit: 000f2b51633d181bf4a5919fc38cf964a83f2091
      https://github.com/llvm/llvm-project/commit/000f2b51633d181bf4a5919fc38cf964a83f2091
  Author: Longsheng Mou <moulongsheng at huawei.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/test/CodeGen/X86/x86_64-arguments.c

  Log Message:
  -----------
  [X86_64] fix arg pass error in struct. (#86902)

```
typedef long long t67 __attribute__((aligned (4)));
struct s67 {
  int a;
  t67 b;
};
void f67(struct s67 x) {
}
```
When classify:
a: Lo = Integer, Hi = NoClass
b: Lo = Integer, Hi = NoClass
struct S: Lo = Integer, Hi = NoClass

```
define dso_local void @f67(i64 %x.coerce) {
```
In this case, only one i64 register is used when the structure parameter
is transferred, which is obviously incorrect.So we need to treat the
split case specially. fix
https://github.com/llvm/llvm-project/issues/85387.


  Commit: 58323de2e5ed0fec81ccfe421488d7fb27ecbe38
      https://github.com/llvm/llvm-project/commit/58323de2e5ed0fec81ccfe421488d7fb27ecbe38
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M polly/lib/Analysis/ScopDetectionDiagnostic.cpp

  Log Message:
  -----------
  [clang-format] Correctly annotate braces in macros (#87953)

Also fix unit tests and reformat polly.

Fixes #86550.


  Commit: bcf849b1e5faea405cfbbd4bc848048651055b25
      https://github.com/llvm/llvm-project/commit/bcf849b1e5faea405cfbbd4bc848048651055b25
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] instanceof is a keyword only in Java/JavaScript (#88085)

Fixes #87907.


  Commit: 8dc006ea4008c1af298e56c4db6fffe2a40a2ba9
      https://github.com/llvm/llvm-project/commit/8dc006ea4008c1af298e56c4db6fffe2a40a2ba9
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp

  Log Message:
  -----------
  [RISCV] Make EmitToStreamer return whether Inst is compressed

This is helpful to reduce calls of `RISCVRVC::compress` in #77337.

Reviewers: asb, lukel97, topperc

Reviewed By: topperc

Pull Request: https://github.com/llvm/llvm-project/pull/88120


  Commit: 289a2c380e47d64a1e626259c53fc8c7d6c2be66
      https://github.com/llvm/llvm-project/commit/289a2c380e47d64a1e626259c53fc8c7d6c2be66
  Author: Nhat Nguyen <nhat7203 at gmail.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/spec/linux.td
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/ioctl/CMakeLists.txt
    A libc/src/sys/ioctl/ioctl.h
    A libc/src/sys/ioctl/linux/CMakeLists.txt
    A libc/src/sys/ioctl/linux/ioctl.cpp
    A libc/test/src/sys/ioctl/CMakeLists.txt
    A libc/test/src/sys/ioctl/linux/CMakeLists.txt
    A libc/test/src/sys/ioctl/linux/ioctl_test.cpp

  Log Message:
  -----------
  [libc] implement ioctl (#85890)

This PR is to work on the issue #85275


  Commit: 87e6f87fe7e343eb656e9b49d30cbb065c086651
      https://github.com/llvm/llvm-project/commit/87e6f87fe7e343eb656e9b49d30cbb065c086651
  Author: Connor Sughrue <55301806+cpsughrue at users.noreply.github.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Support/raw_socket_stream.h
    M llvm/lib/Support/raw_socket_stream.cpp
    M llvm/unittests/Support/raw_socket_stream_test.cpp

  Log Message:
  -----------
  [llvm][Support] Improvements to ListeningSocket functionality and documentation (#84710)

Improvements include
* Enable `ListeningSocket::accept` to timeout after a specified amount
of time or block indefinitely
* Enable `ListeningSocket::createUnix` to handle instances where the
target socket address already exists and differentiate between
situations where the existing file does and does not already have a
bound socket
* Doxygen comments

Functionality added for the module build daemon

---------

Co-authored-by: Michael Spencer <bigcheesegs at gmail.com>


  Commit: 3c2feab7d152b7f161b4adaecef4ec81f038a23e
      https://github.com/llvm/llvm-project/commit/3c2feab7d152b7f161b4adaecef4ec81f038a23e
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/spec/linux.td
    M libc/src/sys/CMakeLists.txt
    R libc/src/sys/ioctl/CMakeLists.txt
    R libc/src/sys/ioctl/ioctl.h
    R libc/src/sys/ioctl/linux/CMakeLists.txt
    R libc/src/sys/ioctl/linux/ioctl.cpp
    R libc/test/src/sys/ioctl/CMakeLists.txt
    R libc/test/src/sys/ioctl/linux/CMakeLists.txt
    R libc/test/src/sys/ioctl/linux/ioctl_test.cpp

  Log Message:
  -----------
  Revert "[libc] implement ioctl" (#88226)

Reverts llvm/llvm-project#85890

This fails in full build mode:

https://lab.llvm.org/buildbot/#/builders/163/builds/54478/steps/4/logs/stdio


  Commit: 84a5332a68f2b6cb6f48b9483e50d3f821f17119
      https://github.com/llvm/llvm-project/commit/84a5332a68f2b6cb6f48b9483e50d3f821f17119
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

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

  Log Message:
  -----------
  [X86] Add tests for `uitofp nneg` -> `sitofp`; NFC


  Commit: 70136389788b90c2e6bbaef5ad8bb0285d460068
      https://github.com/llvm/llvm-project/commit/70136389788b90c2e6bbaef5ad8bb0285d460068
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

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

  Log Message:
  -----------
  [DAG] Add support for `nneg` flag with `uitofp`

Copy `nneg` flag when building `UINT_TO_FP` from `uitofp` and use
`nneg` flag in the one place we transform `UINT_TO_FP` -> `SINT_TO_FP`
if the operand is non-negative.


  Commit: 6c40d463c28e7a6843bea9f6d838cd89e586cbe8
      https://github.com/llvm/llvm-project/commit/6c40d463c28e7a6843bea9f6d838cd89e586cbe8
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/uint_to_fp.ll

  Log Message:
  -----------
  [X86] Use `nneg` flag when trying to convert `uitofp` -> `sitofp`

Closes #86694


  Commit: 817c832e72f0df3efe1ddd804283c8c89b78639f
      https://github.com/llvm/llvm-project/commit/817c832e72f0df3efe1ddd804283c8c89b78639f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/type-traits.cpp

  Log Message:
  -----------
  [clang] Improve source location in binary type traits diagnostics (#88097)

This patch takes advantage of a recent NFC change that refactored
`EvaluateBinaryTypeTrait()` to accept `TypeSourceInfo` instead of
`QualType` c7db450e5c1a83ea768765dcdedfd50f3358d418.
Before:
```
test2.cpp:105:55: error: variable length arrays are not supported in '__is_layout_compatible'
  105 |   static_assert(!__is_layout_compatible(int[n], int[n]));
      |                                                       ^
test2.cpp:125:76: error: incomplete type 'CStructIncomplete' where a complete type is required
  125 |   static_assert(__is_layout_compatible(CStructIncomplete, CStructIncomplete));
      |                                                                            ^
``` 
After:
```
test2.cpp:105:41: error: variable length arrays are not supported in '__is_layout_compatible'
  105 |   static_assert(!__is_layout_compatible(int[n], int[n]));
      |                                         ^
test2.cpp:125:40: error: incomplete type 'CStructIncomplete' where a complete type is required
  125 |   static_assert(__is_layout_compatible(CStructIncomplete, CStructIncomplete));
      |                                        ^
```


  Commit: b0662a7a7d6d7a4a5339b95d3a20a53390636716
      https://github.com/llvm/llvm-project/commit/b0662a7a7d6d7a4a5339b95d3a20a53390636716
  Author: Congzhe <congzhe.cao at huawei.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
    M llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp

  Log Message:
  -----------
   [CodeMoverUtils] Enhance CodeMoverUtils to sink an entire BB (#87857)

When moving an entire basic block after `InsertPoint`, currently we
check each instruction whether their users are dominated by
`InsertPoint`, however, this can be improved such that even a user is
not dominated by `InsertPoint`, as long as it appears as a subsequent
instruction in the same BB, it is safe to move.

This patch is similar to commit 751be2a064f119af74c7b9b1e52bc904d8aa114d
that enhanced hoisting an entire BB, and this patch enhances sinking an
entire BB. Please refer to the added functionality in test case
`llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp` that was not
supported without this patch.


  Commit: ee284d2da0720dc21191d6f545504cbfcf5dcbcf
      https://github.com/llvm/llvm-project/commit/ee284d2da0720dc21191d6f545504cbfcf5dcbcf
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Avoid make<GdbIndexSection>. NFC


  Commit: 1fda1776e32b5582bfcfcbd8094f3c280d936cec
      https://github.com/llvm/llvm-project/commit/1fda1776e32b5582bfcfcbd8094f3c280d936cec
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__chrono/sys_info.h
    M libcxx/include/__chrono/time_zone.h
    M libcxx/include/chrono
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap
    M libcxx/modules/std/chrono.inc
    M libcxx/src/include/tzdb/time_zone_private.h
    M libcxx/src/include/tzdb/types_private.h
    M libcxx/src/time_zone.cpp
    M libcxx/src/tzdb.cpp
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
    A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/sys_info.members.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++][chrono] Adds the sys_info class. (#85619)

Adds the sys_info class and time_zone::get_info(). The code still has a
few quirks and has not been optimized for performance yet.

The returned sys_info is compared against the output of the zdump tool
in the test giving confidence the implementation is correct.

Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones

Implements:
- LWGXXXX The sys_info range should be affected by save


  Commit: c174d8f46546f7e0e861061256a45570f3bdea75
      https://github.com/llvm/llvm-project/commit/c174d8f46546f7e0e861061256a45570f3bdea75
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M libcxx/utils/ci/Dockerfile

  Log Message:
  -----------
  [libc++][CI] Updates Docker LLDB dependencies. (#88174)

In order to test the LLDB data formatters make is required and SWIG
needs to be updated to version 4.

As drive-by, this patch sorts the entries and removes some duplicates.


  Commit: 4a93872a4f57d2f205826052150fadc36490445f
      https://github.com/llvm/llvm-project/commit/4a93872a4f57d2f205826052150fadc36490445f
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/test/Driver/gcodeview-command-line.c
    A clang/test/Misc/win32-elf.c

  Log Message:
  -----------
  Reland "[Win32][ELF] Make CodeView a DebugInfoFormat only for COFF format" (#87987)

This relands #87149.

The previous commit exposed failures on some targets. The reason is only
a few targets support COFF ObjectFormatType on Windows:
https://github.com/llvm/llvm-project/blob/main/llvm/lib/TargetParser/Triple.cpp#L835-L842

With #87149, the targets don't support COFF will report "warning:
argument unused during compilation: '-gcodeview-command-line'
[-Wunused-command-line-argument]" in the test gcodeview-command-line.c

This patch limits gcodeview-command-line.c only run on targets support
COFF.


  Commit: 749620ea2c738be88f6c0fd59c7217bca6818d5f
      https://github.com/llvm/llvm-project/commit/749620ea2c738be88f6c0fd59c7217bca6818d5f
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [lib++][CI] Changes bootstrap build type. (#88175)

The RelWithDebInfo generates a few GB of debug info that is not used.
Instead use the normal Release build for testing.


  Commit: 3d985a6f1bfcdb6e6d550003f9a1276fe47f588d
      https://github.com/llvm/llvm-project/commit/3d985a6f1bfcdb6e6d550003f9a1276fe47f588d
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll

  Log Message:
  -----------
  [RISCV][TTI] Scale the cost of Select with LMUL (#88098)

Use the Val type to estimate the instruction cost for SelectInst.


  Commit: 313a33b9dff44dc2b0048484e54f9328d9a0d9db
      https://github.com/llvm/llvm-project/commit/313a33b9dff44dc2b0048484e54f9328d9a0d9db
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/and-or-icmps.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll

  Log Message:
  -----------
  [InstCombine] Reduce nested logical operator if poison is implied (#86823)

Fixes #76623
Alive2 proof: https://alive2.llvm.org/ce/z/gX6znJ (I'm not sure how to
write a proof for such transform, maybe there are mistakes)

In most cases, `icmp(a, C1) && (other_cond && icmp(a, C2))` will be
reduced to `icmp(a, C1) & (other_cond && icmp(a, C2))`, since latter
icmp always implies the poison of the former. After reduction, it's
easier to simplify the icmp chain.
Similarly, this patch does the same thing for `(A && B) && C --> A && (B
& C)`. Maybe we could constraint such reduction only on icmps if there
is regression in benchmarks.


  Commit: 469caa31e77f1da37434783f9b4f1d87fe8dff71
      https://github.com/llvm/llvm-project/commit/469caa31e77f1da37434783f9b4f1d87fe8dff71
  Author: Chia <sun1011jacobi at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll

  Log Message:
  -----------
  [RISCV] Use vwadd.vx for splat vector with extension (#87249)

This patch allows `combineBinOp_VLToVWBinOp_VL` to handle patterns like
`(splat_vector (sext op))` or `(splat_vector (zext op))`. Then we can
use `vwadd.vx` and `vwadd.w` for such a case.

### Source code
```
define <vscale x 8 x i64> @vwadd_vx_splat_sext(<vscale x 8 x i32> %va, i32 %b) {
     %sb = sext i32 %b to i64
     %head = insertelement <vscale x 8 x i64> poison, i64 %sb, i32 0
     %splat = shufflevector <vscale x 8 x i64> %head, <vscale x 8 x i64> poison, <vscale x 8 x i32> zeroinitializer
     %vc = sext <vscale x 8 x i32> %va to <vscale x 8 x i64>
     %ve = add <vscale x 8 x i64> %vc, %splat
     ret <vscale x 8 x i64> %ve
}
```

### Before this patch
[Compiler Explorer](https://godbolt.org/z/sq191PsT4)
```
vwadd_vx_splat_sext:
  sext.w a0, a0
  vsetvli a1, zero, e64, m8, ta, ma
  vmv.v.x v16, a0
  vsetvli zero, zero, e32, m4, ta, ma
  vwadd.wv v16, v16, v8
  vmv8r.v v8, v16
  ret
```
### After this patch
```
vwadd_vx_splat_sext
  vsetvli a1, zero, e32, m4, ta, ma
  vwadd.vx v16, v8, a0
  vmv8r.v v8, v16
  ret
```


  Commit: 299b636a8f1c9cb2382f9dce4cdf6ec6330a79c6
      https://github.com/llvm/llvm-project/commit/299b636a8f1c9cb2382f9dce4cdf6ec6330a79c6
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/test/Driver/gcodeview-command-line.c
    R clang/test/Misc/win32-elf.c

  Log Message:
  -----------
  Revert "Reland "[Win32][ELF] Make CodeView a DebugInfoFormat only for COFF format" (#87987)"

This reverts commit 4a93872a4f57d2f205826052150fadc36490445f.

Sorry, there're still buildbot failures.


  Commit: 4e85e1ffcaf161736e27a24c291c1177be865976
      https://github.com/llvm/llvm-project/commit/4e85e1ffcaf161736e27a24c291c1177be865976
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    M clang/test/Sema/aarch64-sme-func-attrs.c

  Log Message:
  -----------
  [Clang][AArch64] Warn when calling non/streaming about vector size difference (#79842)

The compiler doesn't know in advance if the streaming and non-streaming
vector-lengths are different, so it should be safe to give a warning
diagnostic to warn the user about possible undefined behaviour. If the
user knows the vector lengths are equal, they can disable the warning
separately.


  Commit: e50c4c83b6d3f595b0eec9c9600fb3de1147fef7
      https://github.com/llvm/llvm-project/commit/e50c4c83b6d3f595b0eec9c9600fb3de1147fef7
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/Util/add-TLI-mappings.ll

  Log Message:
  -----------
  [AArch64][TLI] Add TLI mappings for ArmPL modf, sincos, sincospi (#83143)

ArmPL 24.04 release fixes a bug concerning these methods,
so now they can be re-introduced to TLI mappings.


  Commit: b7a93bc1f230fe01f38f3648437cee74f339c5ac
      https://github.com/llvm/llvm-project/commit/b7a93bc1f230fe01f38f3648437cee74f339c5ac
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Program.cpp
    A clang/test/AST/Interp/vectors.cpp

  Log Message:
  -----------
  [clang][Interp] Start implementing vector types

Map them to primtive arrays, much like complex types.


  Commit: 0d17e1f0e5d706ac288ac8a62db92b8df64faf4e
      https://github.com/llvm/llvm-project/commit/0d17e1f0e5d706ac288ac8a62db92b8df64faf4e
  Author: hev <wangrui at loongson.cn>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchFrameLowering.h
    M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll

  Log Message:
  -----------
  [LoongArch] Revert `sp` adjustment in prologue (#88110)

After commit 18c5f3c3 ("[RegisterScavenger][RISCV] Don't search for
FrameSetup instrs if we were searching from Non-FrameSetup instrs"), we
can revert the `sp` adjustment 4e2364a2 ("[LoongArch] Add emergency
spill slot for GPR for large frames") to generate better code, as the
issue with `RegScavenger` has been resolved.

Fixes #88109


  Commit: cac4c14ecfcb892201ae8f4b1559909cc22082d0
      https://github.com/llvm/llvm-project/commit/cac4c14ecfcb892201ae8f4b1559909cc22082d0
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp

  Log Message:
  -----------
  [LAA] Replace std::tuple with struct (NFCI).

As suggested in https://github.com/llvm/llvm-project/pull/88039, replace
the tuple with a struct, to make it easier to extend.


  Commit: 0e7d14d2e8ccad8ee1ec60c5c9f434553ec5c6ec
      https://github.com/llvm/llvm-project/commit/0e7d14d2e8ccad8ee1ec60c5c9f434553ec5c6ec
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/mmx-intrinsics.ll

  Log Message:
  -----------
  [X86] Regenerate mmx-intrinsics.ll test checks


  Commit: 990c4bc95f69afb63849898b6b25b13d49d6cdd4
      https://github.com/llvm/llvm-project/commit/990c4bc95f69afb63849898b6b25b13d49d6cdd4
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sve2-bsl.ll

  Log Message:
  -----------
  [AArch64][SVE2] Generate SVE2 BSL instruction in LLVM for bit-twiddling. (#83514)

Allow to fold or/and-and to BSL instuction for scalable vectors.


  Commit: ec40097db28374c1226f0f7e45f18491a596778b
      https://github.com/llvm/llvm-project/commit/ec40097db28374c1226f0f7e45f18491a596778b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/test/AST/Interp/builtin-functions.cpp

  Log Message:
  -----------
  [clang][Interp] Implement __builtin_{ctz,clz}g


  Commit: 1709eac58fee8f559cd70cfce9e7f09192dcb1bc
      https://github.com/llvm/llvm-project/commit/1709eac58fee8f559cd70cfce9e7f09192dcb1bc
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/FunctionPointer.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBlock.cpp
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/Interp/PrimType.h
    M clang/test/AST/Interp/c.c
    A clang/test/AST/Interp/const-eval.c
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Integral pointers (#84159)

This turns the current `Pointer` class into a discriminated union of
`BlockPointer` and `IntPointer`. The former is what `Pointer` currently
is while the latter is just an integer value and an optional
`Descriptor*`.

The `Pointer` then has type check functions like
`isBlockPointer()`/`isIntegralPointer()`/`asBlockPointer()`/`asIntPointer()`,
which can be used to access its data.

Right now, the `IntPointer` and `BlockPointer` structs do not have any
methods of their own and everything is instead implemented in Pointer
(like it was before) and the functions now just either assert for the
right type or decide what to do based on it.

This also implements bitcasts by decaying the pointer to an integral
pointer.

`test/AST/Interp/const-eval.c` is a new test testing all kinds of stuff
related to this. It still has a few tests `#ifdef`-ed out but that
mostly depends on other unimplemented things like
`__builtin_constant_p`.


  Commit: 89ba7e183e6e2c64370ed1b963e54c06352211db
      https://github.com/llvm/llvm-project/commit/89ba7e183e6e2c64370ed1b963e54c06352211db
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
    A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp

  Log Message:
  -----------
  [codegen] Emit missing cleanups for stmt-expr and coro suspensions [take-2] (#85398)

Fixes https://github.com/llvm/llvm-project/issues/63818 for control flow
out of an expressions.

#### Background

A control flow could happen in the middle of an expression due to
stmt-expr and coroutine suspensions.

Due to branch-in-expr, we missed running cleanups for the temporaries
constructed in the expression before the branch.
Previously, these cleanups were only added as `EHCleanup` during the
expression and as normal expression after the full expression.

Examples of such deferred cleanups include:

`ParenList/InitList`: Cleanups for fields are performed by the
destructor of the object being constructed.
`Array init`: Cleanup for elements of an array is included in the array
cleanup.
`Lifetime-extended temporaries`: reference-binding temporaries in
braced-init are lifetime extended to the parent scope.
`Lambda capture init`: init in the lambda capture list is destroyed by
the lambda object.

---

#### In this PR

In this PR, we change some of the `EHCleanups` cleanups to
`NormalAndEHCleanups` to make sure these are emitted when we see a
branch inside an expression (through statement expressions or coroutine
suspensions).

These are supposed to be deactivated after full expression and destroyed
later as part of the destructor of the aggregate or array being
constructed. To simplify deactivating cleanups, we add two utilities as
well:
* `DeferredDeactivationCleanupStack`: A stack to remember cleanups with
deferred deactivation.
* `CleanupDeactivationScope`: RAII for deactivating cleanups added to
the above stack.

---

#### Deactivating normal cleanups
These were previously `EHCleanups` and not `Normal` and **deactivation**
of **required** `Normal` cleanups had some bugs. These specifically
include deactivating `Normal` cleanups which are not the top of
`EHStack`
[source1](https://github.com/llvm/llvm-project/blob/92b56011e6b61e7dc1628c0431ece432f282b3cb/clang/lib/CodeGen/CGCleanup.cpp#L1319),
[2](https://github.com/llvm/llvm-project/blob/92b56011e6b61e7dc1628c0431ece432f282b3cb/clang/lib/CodeGen/CGCleanup.cpp#L722-L746).
This has not been part of our test suite (maybe it was never required
before statement expressions). In this PR, we also fix the emission of
required-deactivated-normal cleanups.


  Commit: a0651db490328a972185e44ff637970b3456406b
      https://github.com/llvm/llvm-project/commit/a0651db490328a972185e44ff637970b3456406b
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/test/SemaTemplate/alias-templates.cpp

  Log Message:
  -----------
  [clang][Sema] Avoid guessing unexpanded packs' size in getFullyPackExpandedSize (#87768)

There has been an optimization for `SizeOfPackExprs` since c5452ed9, in
which
we overlooked a case where the template arguments were not yet
formed into a `PackExpansionType` at the token annotation stage. This
led to a problem in that a template involving such expressions may
lose its nature of being dependent, causing some false-positive
diagnostics.

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


  Commit: 8d206f51497fdf1ceebd6430b2f7d31ef735d0dc
      https://github.com/llvm/llvm-project/commit/8d206f51497fdf1ceebd6430b2f7d31ef735d0dc
  Author: Edwin Vane <revane at google.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp

  Log Message:
  -----------
  [clang-tidy] Allow renaming macro arguments (#87792)

Although the identifier-naming.cpp lit test expected macro arguments not
to be renamed, the code seemed to already allow it. The code was simply
not being exercised because a SourceManager argument wasn't being
provided. With this change, renaming of macro arguments that expand to
renamable decls is permitted.


  Commit: f2ade91a9fe7c222ea919748d30b74397911ecc8
      https://github.com/llvm/llvm-project/commit/f2ade91a9fe7c222ea919748d30b74397911ecc8
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M mlir/include/mlir/IR/OpDefinition.h
    M mlir/include/mlir/IR/Operation.h

  Log Message:
  -----------
  [mlir] Optimize getting properties on concrete ops (#88259)

This makes retrieving properties on concrete operations faster by
removing a branch when it is known that the operation must have
properties.


  Commit: 94ed57dab64ccb248a342a91957f390209c5c7ce
      https://github.com/llvm/llvm-project/commit/94ed57dab64ccb248a342a91957f390209c5c7ce
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll

  Log Message:
  -----------
  [PhaseOrdering] Add test for #85551.

Add test for missed hoisting of checks from std::span
https://github.com/llvm/llvm-project/issues/85551


  Commit: a2bdbc6f0da2a9d0cecb23c64bd20423b3fd0340
      https://github.com/llvm/llvm-project/commit/a2bdbc6f0da2a9d0cecb23c64bd20423b3fd0340
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M lld/COFF/ICF.cpp
    A lld/test/COFF/arm64x-icf.s

  Log Message:
  -----------
  [LLD][COFF] Check machine types in ICF::equalsConstant. (#88140)

Avoid replacing replacing a chunk with one from a different type. It's
mostly a concern for ARM64X, where we don't want to merge aarch64 and
arm64ec chunks, but it may also in theory happen between arm64ec and
 x86_64 chunks.


  Commit: b47e439559ad03a1b32614f573aad66f145a634d
      https://github.com/llvm/llvm-project/commit/b47e439559ad03a1b32614f573aad66f145a634d
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp

  Log Message:
  -----------
  Revert "[Clang][Sema] Fix crash when 'this' is used in a dependent class scope function template specialization that instantiates to a static member function" (#88264)

Reverts llvm/llvm-project#87541


  Commit: 1ca01958310f2956abd72ece1652c3218bcf27e1
      https://github.com/llvm/llvm-project/commit/1ca01958310f2956abd72ece1652c3218bcf27e1
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/AST/TypePrinter.cpp

  Log Message:
  -----------
  [Clang][AST][NFC] Fix printing of dependent PackIndexTypes (#88146)

Dependent `PackIndexType`s currently print the memory address of the
index `Expr*` rather than pretty printing the expression. This patch
fixes that.


  Commit: 49ef12a08c4c7d7ae4765929e72fe2320a12b08c
      https://github.com/llvm/llvm-project/commit/49ef12a08c4c7d7ae4765929e72fe2320a12b08c
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir

  Log Message:
  -----------
  Fix complex log1p accuracy with large abs values. (#88260)

This ports https://github.com/openxla/xla/pull/10503 by @pearu. The new
implementation matches mpmath's results for most inputs, see caveats in
the linked pull request. In addition to the filecheck test here, the
accuracy was tested with XLA's complex_unary_op_test and its MLIR
emitters.


  Commit: 54a9f0007cb4f19d2e9df30405c5027229f5def0
      https://github.com/llvm/llvm-project/commit/54a9f0007cb4f19d2e9df30405c5027229f5def0
  Author: annamthomas <anna at azul.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Analysis/ScalarEvolution/pr87798.ll

  Log Message:
  -----------
  [SCEV] Fix BinomialCoefficient Iteration to fit in W bits (#88010)

BinomialCoefficient computes the value of W-bit IV at iteration It of a loop. When W is 1, we can call multiplicative inverse on 0 which triggers an assert since 1b76120.
    
Since the arithmetic is supposed to wrap if It or K does not fit in W bits, do the truncation into W bits after we do the shift.
    
 Fixes #87798


  Commit: 938a73422e0b964eba16f272acdfae1d0281772c
      https://github.com/llvm/llvm-project/commit/938a73422e0b964eba16f272acdfae1d0281772c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC]Walk over entries, not single values.

Better to walk over SLP nodes rather than single values. Matching
a value to a node is not a 1-to-1 relation, one value may be part of
several nodes and compiler may get wrong node, when trying to map it.
Currently there are no such issues detected, but they may appear in
future.


  Commit: 50d368aee981738cd05f3d16f5d1cfc122c9b0ab
      https://github.com/llvm/llvm-project/commit/50d368aee981738cd05f3d16f5d1cfc122c9b0ab
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/test/Driver/linker-wrapper-libs.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [LinkerWrapper] Relax ordering of static libraries for offloading (#87532)

Summary:
The linker wrapper attempts to maintain consistent semantics with
existing host invocations. Static libraries by default only extract if
there are non-weak symbols that remain undefined. However, we have
situations between linkers that put different meanings on ordering. The
ld.bfd linker requires static libraries to be defined after the symbols,
while `ld.lld` relaxes this rule. The linker wrapper went with the
former as it's the easier solution, however this has caused a lot of
issues as I've had to explain this rule to several people, it also make
it difficult to include things like `libc` in the OpenMP runtime because
it would sometimes be linked before or after.

This patch reworks the logic to more or less perform the following logic
for static libraries.

  1. Split library / object inputs.
  2. Include every object input and record its undefined symbols
  3. Repeatedly try to extract static libraries to resolve these
     symbols. If a file is extracted we need to check every library
     again to resolve any new undefined symbols.

This allows the following to work and will cause fewer issues when
replacing HIP, which does `--whole-archive` so it's very likely the old
logic will regress.
```console
$ clang -lfoo main.c -fopenmp --offload-arch=native
```


  Commit: 6b35cbee3f577d9ee55f7277affa0fe194859b25
      https://github.com/llvm/llvm-project/commit/6b35cbee3f577d9ee55f7277affa0fe194859b25
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaSYCL.h
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [clang] Introduce `SemaSYCL` (#88086)

This patch moves SYCL-related `Sema` functions into new `SemaSYCL`
class, following the recent example of OpenACC and HLSL. This is a part
of the effort to split `Sema`. Additional context can be found in
#82217, #84184, #87634.


  Commit: 0c7b92a42a36563dfd28e3a828e87f4f3a6e4311
      https://github.com/llvm/llvm-project/commit/0c7b92a42a36563dfd28e3a828e87f4f3a6e4311
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/compute-construct-ast.cpp
    A clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    A clang/test/SemaOpenACC/compute-construct-default-clause.c
    A clang/test/SemaOpenACC/compute-construct-default-clause.cpp

  Log Message:
  -----------
  [OpenACC] Implement Default clause for Compute Constructs (#88135)

As a followup to my previous commits, this is an implementation of a
single clause, in this case the 'default' clause. This implements all
semantic analysis for it on compute clauses, and continues to leave it
rejected for all others (some as 'doesnt appertain', others as 'not
implemented' as appropriate).

This also implements and tests the TreeTransform as requested in the
previous patch.


  Commit: 5ae9ffbd18fd93edbbc8efebe140aeb24cd763c2
      https://github.com/llvm/llvm-project/commit/5ae9ffbd18fd93edbbc8efebe140aeb24cd763c2
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp

  Log Message:
  -----------
  [RISCV] Address review comment from 88062

As pointed out by Fraser, KillSrcReg is always false at this point in
code, and having the inconcistency on whether we check the flag between
the if and else blocks is confusing.


  Commit: a8f9f85ab0114deb0f6adae2b578bc39c62c19b3
      https://github.com/llvm/llvm-project/commit/a8f9f85ab0114deb0f6adae2b578bc39c62c19b3
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/src/interface.cpp

  Log Message:
  -----------
  [Libomptarget][NFC] Fix unused variable warnings

Summary:
This patch fixes a few warnings that would show up while building.


  Commit: 2bf48892ab0ce5d53126c7b114070bba18521501
      https://github.com/llvm/llvm-project/commit/2bf48892ab0ce5d53126c7b114070bba18521501
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/docs/HIPSupport.rst

  Log Message:
  -----------
  [HIP] document difference with CUDA (#86838)


  Commit: 6ca5a410d26262f06f954e91200eefe0cbfb7fb8
      https://github.com/llvm/llvm-project/commit/6ca5a410d26262f06f954e91200eefe0cbfb7fb8
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/extractlements-gathered-first-node.ll

  Log Message:
  -----------
  [SLP]Fix PR87358: broken module, Instruction does not dominate all uses.

If the first node is a gather node with extractelement instructions,
still need to put the vector value after all instructions, not after the
very first one.


  Commit: 7f1b9adfc8d86c77ee87a268b3d30e0eda8ed493
      https://github.com/llvm/llvm-project/commit/7f1b9adfc8d86c77ee87a268b3d30e0eda8ed493
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineCombinerPattern.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  [RISCV] Add MachineCombiner to fold (sh3add Z, (add X, (slli Y, 6))) -> (sh3add (sh3add Y, Z), X). (#87884)

This improves a pattern that occurs in 531.deepsjeng_r. Reducing the
dynamic instruction count by 0.5%.

This may be possible to improve in SelectionDAG, but given the special
cases around shXadd formation, it's not obvious it can be done in a
robust way without adding multiple special cases.

I've used a GEP with 2 indices because that mostly closely resembles the
motivating case. Most of the test cases are the simplest GEP case. One
test has a logical right shift on an index which is closer to the
deepsjeng code. This requires special handling in isel to reverse a
DAGCombiner canonicalization that turns a pair of shifts into (srl (and
X, C1), C2).


  Commit: f9f4aba547f50e6dcb2d9345b51fe4883bb64d8d
      https://github.com/llvm/llvm-project/commit/f9f4aba547f50e6dcb2d9345b51fe4883bb64d8d
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll

  Log Message:
  -----------
  [InstCombine] Add tests for non-zero/knownbits of `vector_reduce_{s,u}{min,max}`; NFC


  Commit: 77d668451ad2e6370eb595c171779429e9becdf2
      https://github.com/llvm/llvm-project/commit/77d668451ad2e6370eb595c171779429e9becdf2
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll

  Log Message:
  -----------
  [ValueTracking] Add support for `vector_reduce_{s,u}{min,max}` in `isKnownNonZero`

Previously missing, proofs for all implementations:
https://alive2.llvm.org/ce/z/G8wpmG


  Commit: 41c52217b003ce9435ae534251b0d0d035495262
      https://github.com/llvm/llvm-project/commit/41c52217b003ce9435ae534251b0d0d035495262
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll

  Log Message:
  -----------
  [ValueTracking] Add support for `vector_reduce_{s,u}{min,max}` in `computeKnownBits`

Previously missing. We compute by just applying the reduce function on
the knownbits of each element.

Closes #88169


  Commit: a02b3c01820090d4208146b51372587251fdce61
      https://github.com/llvm/llvm-project/commit/a02b3c01820090d4208146b51372587251fdce61
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for overflow detection functions is `isKnownNonZero`; NFC


  Commit: f0a487d7e2085e21f3691393070f54110d889fb6
      https://github.com/llvm/llvm-project/commit/f0a487d7e2085e21f3691393070f54110d889fb6
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [ValueTracking] Split `isNonZero(mul)` logic to a helper; NFC


  Commit: 37ca6fa1e26e86c85c544023b18695be420e80dd
      https://github.com/llvm/llvm-project/commit/37ca6fa1e26e86c85c544023b18695be420e80dd
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Add support for overflow detection functions is `isKnownNonZero`

Adds support for: `{s,u}{add,sub,mul}.with.overflow`

The logic is identical to the the non-overflow binops, we where just
missing the cases.

Closes #87701


  Commit: 2ff82c2c6490a1478e4311f60f1ce80af0957403
      https://github.com/llvm/llvm-project/commit/2ff82c2c6490a1478e4311f60f1ce80af0957403
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for improving `isKnownNonZero` of `smax`; NFC


  Commit: f1ee458ddb45c9887b3df583ce9a4ba12aae8b3b
      https://github.com/llvm/llvm-project/commit/f1ee458ddb45c9887b3df583ce9a4ba12aae8b3b
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] improve `isKnownNonZero` precision for `smax`

Instead of relying on known-bits for strictly positive, use the
`isKnownPositive` API. This will use `isKnownNonZero` which is more
accurate.

Closes #88170


  Commit: 7d60232b38b66138dae1b31027d73ee5b9df5c58
      https://github.com/llvm/llvm-project/commit/7d60232b38b66138dae1b31027d73ee5b9df5c58
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/docs/tools/clang-formatted-files.txt
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/PreprocessorOptions.h
    M flang/include/flang/Parser/parsing.h
    A flang/include/flang/Parser/preprocessor.h
    A flang/include/flang/Parser/token-sequence.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Parser/preprocessor.cpp
    R flang/lib/Parser/preprocessor.h
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    M flang/lib/Parser/token-sequence.cpp
    R flang/lib/Parser/token-sequence.h
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    A flang/test/Preprocessing/show-macros1.F90
    A flang/test/Preprocessing/show-macros2.F90
    A flang/test/Preprocessing/show-macros3.F90

  Log Message:
  -----------
  [flang][Frontend] Implement printing defined macros via -dM (#87627)

This should work the same way as in clang.


  Commit: 52aaa8a87960a7d342c5e6b7d5af82c76c8cc45d
      https://github.com/llvm/llvm-project/commit/52aaa8a87960a7d342c5e6b7d5af82c76c8cc45d
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/test/Driver/lld-repro.c

  Log Message:
  -----------
  [clang][test] Avoid writing to a potentially write-protected dir (#88258)

This test just checks for the stdout/stderr of clang, but it
incidentally tries to write to `a.out` in the current directory, which
may be write protected. Typically one would write `clang -o %t.o` for a
writeable dir, but since we only care about stdout/stderr, throw away
the object file and just write to /dev/null instead.


  Commit: 0ad663ead1242e908a8c5005f35e72747d136a3b
      https://github.com/llvm/llvm-project/commit/0ad663ead1242e908a8c5005f35e72747d136a3b
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__config
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    M libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp

  Log Message:
  -----------
  [libc++] Removes Clang-16 support. (#87810)

With the release of Clang-18 we no longer officially support Clang-16.


  Commit: fc3dff9b4637bb5960fe70add90cd27e6842d58b
      https://github.com/llvm/llvm-project/commit/fc3dff9b4637bb5960fe70add90cd27e6842d58b
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    A clang/test/Modules/home-is-cwd-search-paths.c

  Log Message:
  -----------
  [clang][modules] Stop eagerly reading files with diagnostic pragmas (#87442)

This makes it so that the importer doesn't need to stat all input files
of a module that contain diagnostic pragmas, reducing file system
traffic.


  Commit: 51786eb5bfc30e7eff998323a9ce433ec4620383
      https://github.com/llvm/llvm-project/commit/51786eb5bfc30e7eff998323a9ce433ec4620383
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [clang][modules] Only compute affecting module maps with implicit search (#87849)

When writing out a PCM, we compute the set of module maps that did
affect the compilation and we strip the rest to make the output
independent of them. The most common way to read a module map that is
not affecting is with implicit module map search. The other option is to
pass a bunch of unnecessary `-fmodule-map-file=<path>` arguments on the
command-line, in which case the client should probably not give those to
Clang anyway.

This makes serialization of explicit modules faster, mostly due to
reduced file system traffic.


  Commit: 323d3ab2574ba9d371926bb1b5c67dbe7b2b4ec3
      https://github.com/llvm/llvm-project/commit/323d3ab2574ba9d371926bb1b5c67dbe7b2b4ec3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll

  Log Message:
  -----------
  [RISCV] Optimize undef Even vector in getWideningInterleave. (#88221)

We recently optimized the code when the Odd vector was undef to fix a
poison bug.

There are additional optimizations we can do if the even vector is
undef. With Zvbb, we can use a single vwsll. Without Zvbb, we can use a
vzext.vf2 and a vsll.


  Commit: e72c949c15208ba3dd53a9cebfee02734965a678
      https://github.com/llvm/llvm-project/commit/e72c949c15208ba3dd53a9cebfee02734965a678
  Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/overflow.ll

  Log Message:
  -----------
  [msan] Overflow intrinsics. (#88210)


  Commit: 43b2b2ebce635bec1e3c060092ea75db858ee3fd
      https://github.com/llvm/llvm-project/commit/43b2b2ebce635bec1e3c060092ea75db858ee3fd
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir

  Log Message:
  -----------
  Revert "Fix complex log1p accuracy with large abs values." (#88290)

Reverts llvm/llvm-project#88260

The test fails on the GCC7 buildbot.


  Commit: 48c5c70fdd3bec2929e2e903e3bf4494a65f7a92
      https://github.com/llvm/llvm-project/commit/48c5c70fdd3bec2929e2e903e3bf4494a65f7a92
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp

  Log Message:
  -----------
  [NFC] Update SemaRef.Diag to just Diag in OpenACC implementation

I missed these two in my last patch as the two patches crossed in
review, so correct this now.


  Commit: 3d468566eb395995ac54fcf90d3afb9b9f822eb3
      https://github.com/llvm/llvm-project/commit/3d468566eb395995ac54fcf90d3afb9b9f822eb3
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [NFC] Remove unneeded 'maybe_unused' attributes

This was added while we only had a partial implementation of clauses, so
we don't need these anymore.


  Commit: f388a3a446ef2566d73b6a73ba300738f8c2c002
      https://github.com/llvm/llvm-project/commit/f388a3a446ef2566d73b6a73ba300738f8c2c002
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir

  Log Message:
  -----------
  [mlir][sparse] update doc and examples of the [dis]assemble operations (#88213)

The doc and examples of the [dis]assemble operations did not reflect all
the recent changes on order of the operands. Also clarified some of the
text.


  Commit: 798e04f93769318db857b27f51020e7115e00301
      https://github.com/llvm/llvm-project/commit/798e04f93769318db857b27f51020e7115e00301
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/OpenACCKinds.h

  Log Message:
  -----------
  Fix MSVC "not all control paths return a value" warning. NFC.


  Commit: 335d5d5f47b883055e676ffe5f981469a5f5f4f6
      https://github.com/llvm/llvm-project/commit/335d5d5f47b883055e676ffe5f981469a5f5f4f6
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/test/CodeGen/SPIRV/SampledImageRetType.ll

  Log Message:
  -----------
  [SPIRV] Tweak parsing of base type name in builtins (#88255)

This PR is a small improvement of parsing of base type name in builtins,
allowing to understand `unsigned ...` types. The test case that fails
without the fix is attached.


  Commit: 4dcf33b6c2806216dfe8c5e1e3582a45516dbc69
      https://github.com/llvm/llvm-project/commit/4dcf33b6c2806216dfe8c5e1e3582a45516dbc69
  Author: David Green <david.green at arm.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/lrint-conv.ll
    M llvm/test/CodeGen/AArch64/vector-lrint.ll

  Log Message:
  -----------
  [AArch64] Cleanup and GISel coverage for lrint tests. NFC


  Commit: 04bf1a4090c535e3a1033ab9a8ef92068166461f
      https://github.com/llvm/llvm-project/commit/04bf1a4090c535e3a1033ab9a8ef92068166461f
  Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
    M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir

  Log Message:
  -----------
  Update `LowerContractionToSMMLAPattern` to ingnore matvec (#88288)

Patterns in `LowerContractionToSMMLAPattern` are designed to handle
vector-to-matrix multiplication but not matrix-to-vector. This leads to
the following error when processing `rhs` with rank < 2:

```
iree-compile: /usr/local/google/home/kooljblack/code/iree-build/llvm-project/tools/mlir/include/mlir/IR/BuiltinTypeInterfaces.h.inc:268: int64_t mlir::detail::ShapedTypeTrait<mlir::VectorType>::getDimSize(unsigned int) const [ConcreteType = mlir::VectorType]: Assertion `idx < getRank() && "invalid index for shaped type"' failed.
```

Updates to explicitly check the rhs rank and fail cases that cannot
process.


  Commit: c54afe5c33ca6159841d909fb8fe20e5d4e0069b
      https://github.com/llvm/llvm-project/commit/c54afe5c33ca6159841d909fb8fe20e5d4e0069b
  Author: higher-performance <113926381+higher-performance at users.noreply.github.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ParentMapContext.cpp

  Log Message:
  -----------
  Fix quadratic slowdown in AST matcher parent map generation (#87824)

Avoids the need to linearly re-scan all seen parent nodes to check for
duplicates, which previously caused a slowdown for ancestry checks in
Clang AST matchers.

Fixes: #86881


  Commit: f27f3697108470c3e995cf3cb454641c22ec1fa9
      https://github.com/llvm/llvm-project/commit/f27f3697108470c3e995cf3cb454641c22ec1fa9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/test/CodeGen/RISCV/interrupt-attr-nocall.ll
    M llvm/test/CodeGen/RISCV/interrupt-attr.ll

  Log Message:
  -----------
  [RISCV] Remove interrupt handler special case from RISCVFrameLowering::determineCalleeSaves. (#88069)

This code was trying to save temporary argument registers in interrupt
handler functions that contain calls. With the exception that all FP
registers are saved including the normally callee saved registers.

If all of the callees use an FP ABI and the interrupt handler doesn't
touch the normally callee saved FP registers, we don't need to save
them.

It doesn't appear that we need to special case functions with calls. The
normal callee saved register handling will already check each of the calls
and consider a register clobbered if the call doesn't explicitly say it is preserved.

All of the test changes are from the removal of the FP callee saved
registers. There are tests for interrupt handlers with F and D extension
that use ilp32 or lp64 ABIs that are not affected by this change. They
still save the FP callee saved registers as they should.

gcc appears to have a bug where the D extension being enabled with the
ilp32f or lp64f ABI does not save the FP callee saved regs. The callee
would only save/restore the lower 32 bits and clobber the upper bits.
LLVM saves the FP callee saved regs in this case and there is an
unchanged test for it.

The unnecessary save/restore was raised in this thread
https://discourse.llvm.org/t/has-bugs-when-optimizing-save-restore-csrs-by-changing-csr-xlen-f32-interrupt/78200/1


  Commit: 86842e1f724fba5abae50ce438553895e69b8141
      https://github.com/llvm/llvm-project/commit/86842e1f724fba5abae50ce438553895e69b8141
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/test/Driver/amdgpu-features.c
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    A llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll

  Log Message:
  -----------
  [AMDGPU] New clang option for emitting a waitcnt instruction after each memory instruction (#79236)

This patch introduces a new command-line option for clang, namely,
amdgpu-precise-mem-op (or precise-memory in the backend). When this option is specified, a waitcnt
instruction is generated after each memory load/store instruction. The
counter values are always 0, but which counters are involved depends on
the memory instruction.

---------

Co-authored-by: Jun Wang <jun.wang7 at amd.com>


  Commit: 4d80dff819d1164775d0d55fc68bffedb90ba53c
      https://github.com/llvm/llvm-project/commit/4d80dff819d1164775d0d55fc68bffedb90ba53c
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/FunctionPointer.h

  Log Message:
  -----------
  int -> uintptr_t to silence diagnostics

'int' may not be sufficiently large to store a pointer representation
anyway, so this is also a correctness fix.


  Commit: 21009f466ece9f21b18e1bb03bd74b566188bae5
      https://github.com/llvm/llvm-project/commit/21009f466ece9f21b18e1bb03bd74b566188bae5
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Propagate locations from result objects to initializers. (#87320)

Previously, we were propagating storage locations the other way around,
i.e.
from initializers to result objects, using `RecordValue::getLoc()`. This
gave
the wrong behavior in some cases -- see the newly added or fixed tests
in this
patch.

In addition, this patch now unblocks removing the `RecordValue` class
entirely,
as we no longer need `RecordValue::getLoc()`.

With this patch, the test `TransferTest.DifferentReferenceLocInJoin`
started to
fail because the framework now always uses the same storge location for
a
`MaterializeTemporaryExpr`, meaning that the code under test no longer
set up
the desired state where a variable of reference type is mapped to two
different
storage locations in environments being joined. Rather than trying to
modify
this test to set up the test condition again, I have chosen to replace
the test
with an equivalent test in DataflowEnvironmentTest.cpp that sets up the
test
condition directly; because this test is more direct, it will also be
less
brittle in the face of future changes.


  Commit: b9a3551c905573df456ee52fa1051e49fa956c65
      https://github.com/llvm/llvm-project/commit/b9a3551c905573df456ee52fa1051e49fa956c65
  Author: Kevin P. Neal <kevin.neal at sas.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/unittests/Bitcode/BitReaderTest.cpp

  Log Message:
  -----------
  [FPEnv][BitcodeReader] Correct strictfp test.

Correct a strictfp test to follow the rules documented in the LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics

This test needed the strictfp attribute added to a function definition.

Test changes verified with D146845.


  Commit: c1d3f39ae98535777c957aab3611d2abc97b2815
      https://github.com/llvm/llvm-project/commit/c1d3f39ae98535777c957aab3611d2abc97b2815
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for `shufflevector` in `isKnownNonZero`


  Commit: 87528bfefbb50ed6560b9b8482fc7c9f86ca34cd
      https://github.com/llvm/llvm-project/commit/87528bfefbb50ed6560b9b8482fc7c9f86ca34cd
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add support for `shufflevector` in `isKnownNonZero`

Shuffles don't modify the data, so if all elements that end up in the
destination are non-zero the result is non-zero.

Closes #87702


  Commit: 8a28b9b8ec1686426a4b43c8431570eaa1da77d9
      https://github.com/llvm/llvm-project/commit/8a28b9b8ec1686426a4b43c8431570eaa1da77d9
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for `insertelement` in `isKnownNonZero`; NFC


  Commit: 9c545a14c09051b011358854655c1f466d656e79
      https://github.com/llvm/llvm-project/commit/9c545a14c09051b011358854655c1f466d656e79
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add support for `insertelement` in `isKnownNonZero`

Inserts don't modify the data, so if all elements that end up in the
destination are non-zero the result is non-zero.

Closes #87703


  Commit: 195d278d502308655edb1e9ff1c6f0c9256d0d15
      https://github.com/llvm/llvm-project/commit/195d278d502308655edb1e9ff1c6f0c9256d0d15
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/icmp.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for `xor`/`disjoint or` in `getInvertibleOperands`; NFC


  Commit: 0c57a2e4b4e5a6e5dda78a313fc8d8e3c91797f5
      https://github.com/llvm/llvm-project/commit/0c57a2e4b4e5a6e5dda78a313fc8d8e3c91797f5
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/icmp.ll

  Log Message:
  -----------
  [ValueTracking] Add support for `xor`/`disjoint or` in `getInvertibleOperands`

This strengthens our `isKnownNonEqual` logic with some fairly
trivial cases.

Proofs: https://alive2.llvm.org/ce/z/4pxRTj

Closes #87705


  Commit: 2646790155f73d6cfb28ec0ee472056740e4658e
      https://github.com/llvm/llvm-project/commit/2646790155f73d6cfb28ec0ee472056740e4658e
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/icmp.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for `xor`/`disjoint or` in `isKnownNonZero`; NFC


  Commit: 81cdd35c0c8db22bfdd1f06cb2118d17fd99fc07
      https://github.com/llvm/llvm-project/commit/81cdd35c0c8db22bfdd1f06cb2118d17fd99fc07
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/icmp.ll

  Log Message:
  -----------
  [ValueTracking] Add support for `xor`/`disjoint or` in `isKnownNonZero`

Handles cases like `X ^ Y == X` / `X disjoint| Y == X`.

Both of these cases have identical logic to the existing `add` case,
so just converting the `add` code to a more general helper.

Proofs: https://alive2.llvm.org/ce/z/Htm7pe

Closes #87706


  Commit: 2b00a73f62605fcaeaedd358ba8b55fad06571aa
      https://github.com/llvm/llvm-project/commit/2b00a73f62605fcaeaedd358ba8b55fad06571aa
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll

  Log Message:
  -----------
  [SLP]Buildvector for alternate instructions with non-profitable gather operands.

If the operands of the potentially alternate node are going to produce
buildvector sequences, which result in more instructions, than the
original code, then suhinstructions should be vectorized as alternate
node, better to end up with the buildvector node.

Left column - experimental, Right - reference.

Metric: size..text

Program                                                                                                                                                size..text
                                                                                                                                                       results     results0    diff
                                                                                      test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test   413680.00   416272.00  0.6%
                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12351788.00 12354844.00  0.0%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   664901.00   664949.00  0.0%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   664901.00   664949.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  1171371.00  1171355.00 -0.0%
                                                                                         test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  1036396.00  1036284.00 -0.0%
                                                                         test-suite :: MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg.test   111280.00   111248.00 -0.0%
                                                                              test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1392113.00  1391361.00 -0.1%
                                                                             test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1392113.00  1391361.00 -0.1%
                                                                        test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test   281676.00   281452.00 -0.1%
                                                                                    test-suite :: MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes.test     3025.00     3019.00 -0.2%
                                                                                test-suite :: MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig.test     6351.00     6335.00 -0.3%

Metric: SLP.NumVectorInstructions

Program                                                                                                                                                SLP.NumVectorInstructions
                                                                                                                                                       results                   results0 diff
                                                                                    test-suite :: MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes.test    15.00                     16.00   6.7%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test  1703.00                   1707.00   0.2%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test  1703.00                   1707.00   0.2%
                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 26241.00                  26239.00  -0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 11761.00                  11754.00  -0.1%
                                                                        test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test   824.00                    822.00  -0.2%
                                                                             test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  5668.00                   5654.00  -0.2%
                                                                              test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  5668.00                   5654.00  -0.2%
                                                                                     test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test   792.00                    790.00  -0.3%
                                                                                    test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test   792.00                    790.00  -0.3%
                                                                                       test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test  1389.00                   1384.00  -0.4%
                                                                                         test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test   596.00                    590.00  -1.0%
                                                                                test-suite :: MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig.test     6.00                      5.00 -16.7%

Metric: exec_time

Program                                                                                                                                                exec_time
                                                                                                                                                       results   results0  diff
                                                                               test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test     99.14    100.00    0.9%

Other changes are not significant (less than 0.1% percent with exectime
less 5 secs).

SingleSource/Benchmarks/Adobe-C++/loop_unroll - same small patterns
remain scalar, smaller code.
External/SPEC/CFP2017rate/526.blender_r/526.blender_r - many small
changes, some extra stores gets vectorized.
External/SPEC/CINT2017speed/625.x264_s/625.x264_s
External/SPEC/CINT2017rate/525.x264_r/525.x264_r
x264 has one change in a loop body, in function ssim_end4, some code
remain scalar, resulting in less code size.
External/SPEC/CFP2017rate/511.povray_r/511.povray_r - some extra code
gets vectorized, looks like some other patterns were matched.
MultiSource/Benchmarks/7zip/7zip-benchmark - extra stores were
vectorized (looks like the graphs become profitable)
MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg - small
changes in vectorized code (some small part remain scalar).
External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r
External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s
Many changes cause by the fact that the code of one function becomes
smaller (onvertLCHabToRGB) and this functions gets inlined after that.
MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc - some small
changes here and there, some extra code is vectorized, some remain
scalar (2 x vectors)
MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes - emits 2 scalars
+ 2 insertelems instead of insert, broadcast, alt code (3 instructions,
  total 5 insts)
MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig - small graph
becomes profitable and gets vectorized.
External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r
External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s
Some small graph becomes profitable and gets vectorized.
MultiSource/Benchmarks/FreeBench/pifft/pifft - no changes in final code.

Reviewers: RKSimon, dtcxzyw

Reviewed By: RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/84978


  Commit: 0a1317564a6b437760d96f0a227a3c910875428d
      https://github.com/llvm/llvm-project/commit/0a1317564a6b437760d96f0a227a3c910875428d
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__chrono/leap_second.h
    M libcxx/include/__chrono/time_zone_link.h
    M libcxx/include/__locale
    M libcxx/include/__stop_token/stop_callback.h
    A libcxx/include/__utility/private_constructor_tag.h
    M libcxx/include/module.modulemap
    M libcxx/src/CMakeLists.txt
    R libcxx/src/include/tzdb/leap_second_private.h
    R libcxx/src/include/tzdb/time_zone_link_private.h
    M libcxx/src/locale.cpp
    M libcxx/src/tzdb.cpp
    A libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/assign.copy.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/members/date.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
    M libcxx/test/support/test_chrono_leap_second.h
    M libcxx/utils/generate_iwyu_mapping.py

  Log Message:
  -----------
  [libc++] Adds a global private constructor tag. (#87920)

This removes the similar tags used in the chrono tzdb implementation.

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


  Commit: f81879c0f70ee5a1cf1d5b716dfd49d1a271cc2d
      https://github.com/llvm/llvm-project/commit/f81879c0f70ee5a1cf1d5b716dfd49d1a271cc2d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/CMakeLists.txt
    M openmp/libomptarget/DeviceRTL/src/LibC.cpp

  Log Message:
  -----------
  [Libomptarget] Add RPC-based printf implementation for OpenMP #85638

Summary:
Relanding after reverting, only applies to AMDGPU for now.

This patch adds an implementation of printf that's provided by the GPU
C library runtime. This pritnf currently implemented using the same
wrapper handling that OpenMP sets up. This will be removed once we have
proper varargs support.

This printf differs from the one CUDA offers in that it is synchronous
and uses a finite size. Additionally we support pretty much every
format specifier except the %n option.

Depends on #85331


  Commit: fad14707b73d6387e6276507e1c5726e67f08cd6
      https://github.com/llvm/llvm-project/commit/fad14707b73d6387e6276507e1c5726e67f08cd6
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M libc/docs/gpu/building.rst

  Log Message:
  -----------
  [libc] Add note to use `LIBC_GPU_BUILD=ON` as another form

Summary:
This is a shorthand to enable GPU support so it should be listed in the
docs.


  Commit: ca6b8469c16edfe1713e9050dca3cd68bd585410
      https://github.com/llvm/llvm-project/commit/ca6b8469c16edfe1713e9050dca3cd68bd585410
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp

  Log Message:
  -----------
  [ELF] Avoid unneeded config->isLE and config->wordsize. NFC


  Commit: e3ef4612c18845876cda9a13c3435e102f74a3aa
      https://github.com/llvm/llvm-project/commit/e3ef4612c18845876cda9a13c3435e102f74a3aa
  Author: shamithoke <152091883+shamithoke at users.noreply.github.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/bitreverse.ll
    M llvm/test/CodeGen/X86/vector-bitreverse.ll

  Log Message:
  -----------
  Perform bitreverse using AVX512 GFNI for i32 and i64. (#81764)

Currently, the lowering operation for bitreverse using Intel AVX512 GFNI only supports byte vectors

Extend the operation to i32 and i64.

---------

Co-authored-by: shami <shami_thoke at yahoo.com>


  Commit: 7549b45825a05fc24fcdbacf006461165aa042cb
      https://github.com/llvm/llvm-project/commit/7549b45825a05fc24fcdbacf006461165aa042cb
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  Revert "[clang][dataflow] Propagate locations from result objects to initializers." (#88315)

Reverts llvm/llvm-project#87320

This is causing buildbots to fail because
`isOriginalRecordConstructor()` is now unused.


  Commit: a6d1366b736cad85b3bb9fbdda340e07488d6cde
      https://github.com/llvm/llvm-project/commit/a6d1366b736cad85b3bb9fbdda340e07488d6cde
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/Parse/ParseOpenACC.cpp

  Log Message:
  -----------
  [NFC] Remove a pair of incorrect comments from ParseOpenACC

We attempt to continue parsing, but the comment says the opposite.  Just
remove the inaccurate comments in this patch.


  Commit: b3792ae42a4adda5cb51d53f3d6a4b9b025b11fd
      https://github.com/llvm/llvm-project/commit/b3792ae42a4adda5cb51d53f3d6a4b9b025b11fd
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M openmp/runtime/test/lit.cfg

  Log Message:
  -----------
  [OpenMP][AIX] Fix test config for AIX (#88272)

This patch fixes the test config so that it works for
`tasking/omp50_taskdep_depobj.c` which uses different flags to test with
compiler's `omp.h`.
* set test environment variable `OBJECT_MODE` to `64` if it is set
explicitly to `64` in the AIX environment. `OBJECT_MODE` is default to
`32` and is recognized by AIX compilers and toolchain. In this way, we
don't need to set `-m64` for all compiler flags for 64-bit mode
* add option `-Wl,-bmaxdata` to 32-bit `test_openmp_flags` used by
`tasking/omp50_taskdep_depobj.c`


  Commit: a12836647e08c4ad203b9834ac55892fa0b9f2d3
      https://github.com/llvm/llvm-project/commit/a12836647e08c4ad203b9834ac55892fa0b9f2d3
  Author: David Pagan <dave.pagan at amd.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    A clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
    A clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp

  Log Message:
  -----------
  [OpenMP][CodeGen] Improved codegen for combined loop directives (#87278)

IR for 'target teams loop' is now dependent on suitability of associated
loop-nest.

If a loop-nest:

- does not contain a function call, or
- the -fopenmp-assume-no-nested-parallelism has been specified,
- or the call is to an OpenMP API AND
- does not contain nested loop bind(parallel) directives

then it can be emitted as 'target teams distribute parallel for', which
is the current default. Otherwise, it is emitted as 'target teams
distribute'.

Added debug output indicating how 'target teams loop' was emitted. Flag
is -mllvm -debug-only=target-teams-loop-codegen

Added LIT tests explicitly verifying 'target teams loop' emitted as a
parallel loop and a distribute loop.

Updated other 'loop' related tests as needed to reflect change in IR.
- These updates account for most of the changed files and
additions/deletions.


  Commit: d347235bddbeba2a72d94ebe9d8f98dc675c3776
      https://github.com/llvm/llvm-project/commit/d347235bddbeba2a72d94ebe9d8f98dc675c3776
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp

  Log Message:
  -----------
  [Flang] responds to Clang Tidy feedback (#87847)

Line 267: performance-unnecessary-copy-initialization
Line 592: readability-container-size-empty


  Commit: 05093e243859a371f96ffa1c320a4b51579c3da7
      https://github.com/llvm/llvm-project/commit/05093e243859a371f96ffa1c320a4b51579c3da7
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll

  Log Message:
  -----------
  [Spirv][HLSL] Add OpAll lowering and float vec support (#87952)

The main point of this change was to add support for HLSL's all
intrinsic.
In the process of doing that I found a few issues around creating an
`OpConstantComposite` via `buildZerosVal`.

First the current code didn't support floats so the process of adding
`buildZerosValF` meant I needed a
float version of `getOrCreateIntConstVector`. After doing so I renamed
both versions to `getOrCreateConstVector`. That meant I needed to create
a float type version of `getOrCreateIntCompositeOrNull`. Luckily the
type information was low for this function so was able to split it out
into a helpwe and rename `getOrCreateIntCompositeOrNull` to
`getOrCreateCompositeOrNull` With the exception of type handling
differences of the code and Null vs 0 Constant Op codes these functions
should be identical.

To handle scalar floats I could not use `buildConstantFP` like this PR
did:
https://github.com/llvm/llvm-project/commit/0a2aaab5aba46#diff-733a189c5a8c3211f3a04fd6e719952a3fa231eadd8a7f11e6ecf1e584d57411R1603
because that would create too many superfluous registers (that causes
problems in the validator), I had to create a float version of
`getOrCreateConstInt` which I called `getOrCreateConstFP`.
similar problems with doing it like this:
https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp#L1540.

`buildZerosValF` also has a use of a function `getZeroFP`. This is
because half, float, and double scalar values of 0 would collide in
`SPIRVDuplicatesTracker<Constant> CT` if you use `APFloat(0.0f)`.

`getORCreateConstFP` needed its own version of `getOrCreateConstIntReg`
which I called `getOrCreateConstFloatReg` The one difference in this
function is `getOrCreateConstFloatReg` returns a bit width so we don't
have to call `getScalarOrVectorBitWidth` twice ie when it is used again
in `getOrCreateConstFP` for `OpConstantF` `addNumImm`.

`getOrCreateConstFloatReg` needed an `assignFloatTypeToVReg` helper
which called a `getOrCreateSPIRVFloatType` helper. There was no
equivalent IntegerType::get for floats so I handled this with a switch
statement on bit widths to get the right LLVM float type.

Finally, there is the use of `bool ZeroAsNull = STI.isOpenCLEnv();` This
is partly a cosmetic change. When Zeros are treated as nulls, we don't
create `OpConstantComposite` vectors which is something we do in the
DXCs SPIRV backend. The DXC SPIRV backend also does not use
`OpConstantNull`. Finally, I needed a means to test the behavior of the
OpConstantNull and `OpConstantComposite` changes and this was one way I
could do that via the same tests.


  Commit: c258f573981336cd9f87f89e59c6c2117e5d44ec
      https://github.com/llvm/llvm-project/commit/c258f573981336cd9f87f89e59c6c2117e5d44ec
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h

  Log Message:
  -----------
  [ELF] Move createSyntheticSections from Writer.cpp to SyntheticSections.cpp. NFC

SyntheticSections.cpp is more appropriate. This change enables
elimination of many explicit template instantiations.

Due to `make<SymbolTableSection<ELFT>>(*strtab)` in Arch/ARM.cpp,
we do not remove explicit template instantiations for SymbolTableSection.


  Commit: 8cfa72ade9f2f7df81a008efea84f833b73494b9
      https://github.com/llvm/llvm-project/commit/8cfa72ade9f2f7df81a008efea84f833b73494b9
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M libc/hdr/CMakeLists.txt

  Log Message:
  -----------
  [libc] fix typo in hdr/CMakeLists

Fixes #87896


  Commit: fb771fe315654231f613a5501ebd538f036c78b6
      https://github.com/llvm/llvm-project/commit/fb771fe315654231f613a5501ebd538f036c78b6
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M mlir/lib/Bytecode/Writer/IRNumbering.cpp

  Log Message:
  -----------
  [mlir] Slightly optimize bytecode op numbering (#88310)

If the bytecode encoding supports properties, then the dictionary
attribute is always the raw dictionary attribute of the operation,
regardless of what it contains. Otherwise, get the dictionary attribute
from the op: if the op does not have properties, then it returns the raw
dictionary, otherwise it returns the combined inherent and discardable
attributes.


  Commit: af7c196fb8d10f58a704b5a8d142feacf2f0236d
      https://github.com/llvm/llvm-project/commit/af7c196fb8d10f58a704b5a8d142feacf2f0236d
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
    M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
    M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
    M lldb/test/API/macosx/rosetta/TestRosetta.py

  Log Message:
  -----------
  [lldb][sbdebugger] Move SBDebugger Broadcast bit enum into lldb-enumerations.h (#87409)

When the `eBroadcastBitProgressCategory` bit was originally added to
Debugger.h and SBDebugger.h, each corresponding bit was added in order
of the other bits that were previously there. Since `Debugger.h` has an
enum bit that `SBDebugger.h` does not, this meant that their offsets did
not match.

Instead of trying to keep the bit offsets in sync between the two, it's
preferable to just move SBDebugger's enum into the main enumerations
header and use the bits from there. This also requires that API tests using the bits from SBDebugger update their usage.


  Commit: 2fdfea088c8d78119b74116b94bc6729ce0e3efe
      https://github.com/llvm/llvm-project/commit/2fdfea088c8d78119b74116b94bc6729ce0e3efe
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td

  Log Message:
  -----------
  [AMDGPU] Add v2i32 to the VS_64 types. NFCI. (#88318)

I am trying to use VOP3Inst with intrinsic taking v2i32 operand and it
fails to create patterm without it.


  Commit: 9f6d08f2566a26144ea1753f80aebb1f2ecfdc63
      https://github.com/llvm/llvm-project/commit/9f6d08f2566a26144ea1753f80aebb1f2ecfdc63
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
    M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
    M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
    M lldb/test/API/macosx/rosetta/TestRosetta.py

  Log Message:
  -----------
  Revert "[lldb][sbdebugger] Move SBDebugger Broadcast bit enum into lldb-enumerations.h" (#88324)

Reverts llvm/llvm-project#87409 due a missed update to the broadcast bit
causing a build failure on the x86_64 Debian buildbot.


  Commit: 3143c5bed137957d78daf72d3bbf26362d6291ac
      https://github.com/llvm/llvm-project/commit/3143c5bed137957d78daf72d3bbf26362d6291ac
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
    M clang/docs/HIPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaOpenACC.h
    A clang/include/clang/Sema/SemaSYCL.h
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/FunctionPointer.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBlock.cpp
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/Interp/PrimType.h
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/ParentMapContext.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Headers/intrin.h
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/APINotes/instancetype.m
    M clang/test/AST/Interp/builtin-functions.cpp
    M clang/test/AST/Interp/c.c
    A clang/test/AST/Interp/const-eval.c
    M clang/test/AST/Interp/functions.cpp
    A clang/test/AST/Interp/vectors.cpp
    M clang/test/CodeGen/X86/x86_64-arguments.c
    A clang/test/CodeGenCXX/arm64ec-vectorcall.cpp
    A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
    A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
    M clang/test/Driver/amdgpu-features.c
    M clang/test/Driver/linker-wrapper-libs.c
    M clang/test/Driver/lld-repro.c
    A clang/test/Modules/home-is-cwd-search-paths.c
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    A clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
    A clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    M clang/test/Sema/aarch64-sme-func-attrs.c
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaOpenACC/compute-construct-ast.cpp
    A clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    A clang/test/SemaOpenACC/compute-construct-default-clause.c
    A clang/test/SemaOpenACC/compute-construct-default-clause.cpp
    M clang/test/SemaTemplate/alias-templates.cpp
    M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M flang/include/flang/Frontend/PreprocessorOptions.h
    M flang/include/flang/Parser/parsing.h
    A flang/include/flang/Parser/preprocessor.h
    A flang/include/flang/Parser/token-sequence.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Parser/preprocessor.cpp
    R flang/lib/Parser/preprocessor.h
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    M flang/lib/Parser/token-sequence.cpp
    R flang/lib/Parser/token-sequence.h
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    A flang/test/Preprocessing/show-macros1.F90
    A flang/test/Preprocessing/show-macros2.F90
    A flang/test/Preprocessing/show-macros3.F90
    M libc/docs/gpu/building.rst
    M libc/hdr/CMakeLists.txt
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__chrono/leap_second.h
    A libcxx/include/__chrono/sys_info.h
    M libcxx/include/__chrono/time_zone.h
    M libcxx/include/__chrono/time_zone_link.h
    M libcxx/include/__config
    M libcxx/include/__locale
    M libcxx/include/__stop_token/stop_callback.h
    A libcxx/include/__utility/private_constructor_tag.h
    M libcxx/include/chrono
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap
    M libcxx/modules/std/chrono.inc
    M libcxx/src/CMakeLists.txt
    R libcxx/src/include/tzdb/leap_second_private.h
    R libcxx/src/include/tzdb/time_zone_link_private.h
    M libcxx/src/include/tzdb/time_zone_private.h
    M libcxx/src/include/tzdb/types_private.h
    M libcxx/src/locale.cpp
    M libcxx/src/time_zone.cpp
    M libcxx/src/tzdb.cpp
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
    A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    A libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/sys_info.members.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/assign.copy.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/members/date.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
    M libcxx/test/support/test_chrono_leap_second.h
    M libcxx/utils/ci/Dockerfile
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/generate_iwyu_mapping.py
    M libcxx/utils/libcxx/test/features.py
    M lld/COFF/ICF.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h
    A lld/test/COFF/arm64x-icf.s
    M lldb/cmake/caches/Apple-lldb-Linux.cmake
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/CodeGen/MachineCombinerPattern.h
    M llvm/include/llvm/Support/raw_socket_stream.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Support/raw_socket_stream.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchFrameLowering.h
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Analysis/CostModel/RISCV/active_lane_mask.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
    A llvm/test/Analysis/ScalarEvolution/pr87798.ll
    M llvm/test/CodeGen/AArch64/lrint-conv.ll
    A llvm/test/CodeGen/AArch64/sve2-bsl.ll
    M llvm/test/CodeGen/AArch64/vector-lrint.ll
    A llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
    M llvm/test/CodeGen/RISCV/interrupt-attr-nocall.ll
    M llvm/test/CodeGen/RISCV/interrupt-attr.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
    M llvm/test/CodeGen/SPIRV/SampledImageRetType.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
    M llvm/test/CodeGen/X86/bitreverse.ll
    M llvm/test/CodeGen/X86/mmx-intrinsics.ll
    M llvm/test/CodeGen/X86/uint_to_fp.ll
    M llvm/test/CodeGen/X86/vector-bitreverse.ll
    A llvm/test/Instrumentation/MemorySanitizer/overflow.ll
    A llvm/test/Instrumentation/MemorySanitizer/saturating.ll
    M llvm/test/Transforms/InstCombine/and-or-icmps.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/InstCombine/shl-demand.ll
    A llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll
    M llvm/test/Transforms/InstSimplify/icmp.ll
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll
    A llvm/test/Transforms/SLPVectorizer/X86/extractlements-gathered-first-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
    M llvm/test/Transforms/Util/add-TLI-mappings.ll
    A llvm/test/Transforms/lower-builtin-allow-check-remarks.ll
    M llvm/unittests/Bitcode/BitReaderTest.cpp
    M llvm/unittests/Support/raw_socket_stream_test.cpp
    M llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/include/mlir/IR/OpDefinition.h
    M mlir/include/mlir/IR/Operation.h
    M mlir/lib/Bytecode/Writer/IRNumbering.cpp
    M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
    M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
    M openmp/libomptarget/DeviceRTL/CMakeLists.txt
    M openmp/libomptarget/DeviceRTL/src/LibC.cpp
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/runtime/test/lit.cfg
    M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
    M polly/lib/Support/GICHelper.cpp
    M polly/lib/Transform/MatmulOptimizer.cpp
    M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel

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

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/93133e271d02...3143c5bed137

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list