[all-commits] [llvm/llvm-project] 8482db: compiler-rt: fix few builtins build warnings. (#88...

Fangrui Song via All-commits all-commits at lists.llvm.org
Tue Apr 23 10:39:07 PDT 2024


  Branch: refs/heads/users/MaskRay/spr/mc-rename-temporary-symbols-of-empty-name-to-l0
  Home:   https://github.com/llvm/llvm-project
  Commit: 8482dbdcd208ebccafd848d35550aa8a484e445e
      https://github.com/llvm/llvm-project/commit/8482dbdcd208ebccafd848d35550aa8a484e445e
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M compiler-rt/lib/builtins/fp_add_impl.inc
    M compiler-rt/lib/builtins/fp_fixint_impl.inc
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/lib/builtins/int_types.h

  Log Message:
  -----------
  compiler-rt: fix few builtins build warnings. (#88991)


  Commit: a3e7a125e11872b97a84bf7766ce05ccc100e896
      https://github.com/llvm/llvm-project/commit/a3e7a125e11872b97a84bf7766ce05ccc100e896
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    A compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    A compiler-rt/lib/ctx_profile/tests/driver.cpp

  Log Message:
  -----------
  Reapply "[compiler-rt][ctx_instr] Add `ctx_profile` component" (#89625)

This reverts commit 8b2ba6a144e728ee4116e2804e9b5aed8824e726.

The uild errors (see below) were likely due to the same issue PR #88074 fixed. Addressed by following that PR.

https://lab.llvm.org/buildbot/#/builders/165/builds/52789
https://lab.llvm.org/buildbot/#/builders/91/builds/25273


  Commit: b8ff08d0e668e5397dd799b76ede0bd54fcba75c
      https://github.com/llvm/llvm-project/commit/b8ff08d0e668e5397dd799b76ede0bd54fcba75c
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMP.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Add missing "return" statement after 40137ff0d81be

When responding to review comments, `return {}` was accidentally replaced
by `std::nullptr` instead of `return std::nullptr`.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/rv32zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll

  Log Message:
  -----------
  [RISCV] Implement RISCVISD::SHL_ADD and move patterns into combine (#89263)

This implements a RISCV specific version of the SHL_ADD node proposed in
https://github.com/llvm/llvm-project/pull/88791.

If that lands, the infrastructure from this patch should seamlessly
switch over the to generic DAG node. I'm posting this separately because
I've run out of useful multiply strength reduction work to do without
having a way to represent MUL X, 3/5/9 as a single instruction.

The majority of this change is moving two sets of patterns out of
tablgen and into the post-legalize combine. The major reason for this is
that I have an upcoming change which needs to reuse the expansion logic,
but it also helps common up some code between zba and the THeadBa
variants.

On the test changes, there's a couple major categories:
* We chose a different lowering for mul x, 25. The new lowering involves
one fewer register and the same critical path, so this seems like a win.
* The order of the two multiplies changes in (3,5,9)*(3,5,9) in some
cases. I don't believe this matters.
* I'm removing the one use restriction on the multiply. This restriction
doesn't really make sense to me, and the test changes appear positive.


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

  Changed paths:
    M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp
    M mlir/test/lib/Conversion/FuncToLLVM/TestConvertCallOp.cpp
    M mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
    M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
    M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.h
    M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
    A mlir/test/lib/Dialect/Test/TestFormatUtils.cpp
    A mlir/test/lib/Dialect/Test/TestFormatUtils.h
    M mlir/test/lib/Dialect/Test/TestFromLLVMIRTranslation.cpp
    M mlir/test/lib/Dialect/Test/TestInterfaces.cpp
    M mlir/test/lib/Dialect/Test/TestInterfaces.h
    A mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    A mlir/test/lib/Dialect/Test/TestOps.cpp
    A mlir/test/lib/Dialect/Test/TestOps.h
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
    M mlir/test/lib/Dialect/Test/TestTraits.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.h
    M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
    M mlir/test/lib/IR/TestClone.cpp
    M mlir/test/lib/IR/TestSideEffects.cpp
    M mlir/test/lib/IR/TestSymbolUses.cpp
    M mlir/test/lib/IR/TestTypes.cpp
    M mlir/test/lib/IR/TestVisitorsGeneric.cpp
    M mlir/test/lib/Pass/TestPassManager.cpp
    M mlir/test/lib/Transforms/TestInlining.cpp
    M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
    M mlir/unittests/IR/AdaptorTest.cpp
    M mlir/unittests/IR/IRMapping.cpp
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp
    M mlir/unittests/IR/InterfaceTest.cpp
    M mlir/unittests/IR/OperationSupportTest.cpp
    M mlir/unittests/IR/PatternMatchTest.cpp
    M mlir/unittests/TableGen/OpBuildGen.cpp

  Log Message:
  -----------
  [mlir][test] Reorganize the test dialect (#89424)

This PR massively reorganizes the Test dialect's source files. It moves
manually-written op hooks into `TestOpDefs.cpp`, moves format custom
directive parsers and printers into `TestFormatUtils`, adds missing
comment blocks, and moves around where generated source files are
included for types, attributes, enums, etc. into their own source file.

This will hopefully help navigate the test dialect source code, but also
speeds up compile time of the test dialect by putting generated source
files into separate compilation units.

This also sets up the test dialect to shard its op definitions, done in
the next PR.


  Commit: 14e6f63ee64711bbd74a0fda745f62f62556d70d
      https://github.com/llvm/llvm-project/commit/14e6f63ee64711bbd74a0fda745f62f62556d70d
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/utils/TableGen/DirectiveEmitter.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Add suggested brackets in array initialization

Fixes -Werror build after 40137ff0d8.


  Commit: e8572d0fc9940512ead2e81ec731208cb0d9ee50
      https://github.com/llvm/llvm-project/commit/e8572d0fc9940512ead2e81ec731208cb0d9ee50
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp

  Log Message:
  -----------
  [flang] Don't emit conversion error for max(a,b, optionalCharacter) (#88156)

A recent patch added an error message for whole optional dummy argument
usage as optional arguments (third or later) to MAX and MIN when those
names required type conversion, since that conversion only works when
the optional arguments are present. This check shouldn't care about
character lengths. Make it so.


  Commit: cb1b846eda2b18955cad28742350e4a73f166c07
      https://github.com/llvm/llvm-project/commit/cb1b846eda2b18955cad28742350e4a73f166c07
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/select-rank.f90

  Log Message:
  -----------
  [flang] Improve error reporting for procedures determined by usage (#88184)

When a symbol is known to be a procedure due to its being referenced as
a function or subroutine, improve the error messages that appear if the
symbol is also used as an object by attaching the source location of its
procedural use. Also, for errors spotted in name resolution due to how a
given symbol has been used, don't unconditionally set the symbol's error
flag (which is otherwise generally a good idea, to prevent cascades of
errors), so that more unrelated errors related to usage will appear.


  Commit: 31505c4f6b977c2ccc785de29a047a31563e5c90
      https://github.com/llvm/llvm-project/commit/31505c4f6b977c2ccc785de29a047a31563e5c90
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Evaluate/int-power.h

  Log Message:
  -----------
  [flang] Fix spurious overflow warning folding exponentiation by integ… (#88188)

…er powers

The code that folds exponentiation by an integer power can report a
spurious overflow warning because it calculates one last unnecessary
square of the base value. 10.**(+/-32) exposes the problem -- the value
of 10.**64 is calculated but not needed. Rearrange the implementation to
only calculate squares that are necessary.

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


  Commit: 2987fca041caddead6655a34009b6a6517d0c7df
      https://github.com/llvm/llvm-project/commit/2987fca041caddead6655a34009b6a6517d0c7df
  Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/source/Core/Debugger.cpp

  Log Message:
  -----------
  [lldb][Core] Fix pointless if conditon (#89650)

Addresses #85984

Signed-off-by: Troy-Butler <squintik at outlook.com>
Co-authored-by: Troy-Butler <squintik at outlook.com>


  Commit: ce1b6783d26df46f0a70f72301283138adea80df
      https://github.com/llvm/llvm-project/commit/ce1b6783d26df46f0a70f72301283138adea80df
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOPInstructions.td

  Log Message:
  -----------
  [AMDGPU] simplify VOP3_Real definitions. NFC. (#89656)


  Commit: 6884c1fc449890455751901b84e4eb6a3b558aea
      https://github.com/llvm/llvm-project/commit/6884c1fc449890455751901b84e4eb6a3b558aea
  Author: Wu Yingcong <yingcong.wu at intel.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M compiler-rt/test/gwp_asan/CMakeLists.txt

  Log Message:
  -----------
  [test][GWP-ASan] Only add check-gwp_asan when its dependencies are built (#89164)

Currently, `check-gwp_asan` is added no matter its dependencies are
built or not, this is wrong and will cause cmake error when scudo is not
built. This patch includes the target in the dependencies check.


  Commit: 138524ef8ea9d63e47d78f5e344c263e769a293e
      https://github.com/llvm/llvm-project/commit/138524ef8ea9d63e47d78f5e344c263e769a293e
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Evaluate/fold-implementation.h

  Log Message:
  -----------
  [flang] Fix crash on erroneous program (#88192)

Constant folding had a CHECK on array subscript rank that should more
gracefully handle a bad program with a subscript that is a matrix or
higher rank.

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


  Commit: 59bf49a63261344998756a31ce03af552e4dae61
      https://github.com/llvm/llvm-project/commit/59bf49a63261344998756a31ce03af552e4dae61
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/stmt-func02.f90

  Log Message:
  -----------
  [flang] Fix bogus error on statement function (#89402)

When a statement function in a nested scope has a name that clashes with
a name that exists in the host scope, the compiler can handle it
correctly (with a portability warning)... unless the host scope acquired
the name via USE association. Fix.

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


  Commit: d2be9826ddf17378a684ee42e3ac2a17a1c63fa8
      https://github.com/llvm/llvm-project/commit/d2be9826ddf17378a684ee42e3ac2a17a1c63fa8
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libc/src/__support/OSUtil/fuchsia/io.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/FPExceptMatcher.h
    R libc/test/UnitTest/FuchsiaTest.h
    A libc/test/UnitTest/GTest.h
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/UnitTest/MemoryMatcher.h
    R libc/test/UnitTest/PigweedTest.h
    M libc/test/UnitTest/Test.h
    A libc/test/UnitTest/ZxTest.h

  Log Message:
  -----------
  [libc] Clean up alternate test framework support (#89659)

This replaces the old macros LIBC_COPT_TEST_USE_FUCHSIA and
LIBC_COPT_TEST_USE_PIGWEED with LIBC_COPT_TEST_ZXTEST and
LIBC_COPT_TEST_GTEST, respectively.  These are really not about
whether the code is in the Fuchsia build or in the Pigweed build,
but just about what test framework is being used.  The gtest
framework can be used in many contexts, and the zxtest framework
is not always what's used in the Fuchsia build.

The test/UnitTest/Test.h wrapper header now provides the macro
LIBC_TEST_HAS_MATCHERS() for use in `#if` conditionals on use of
gmock-style matchers, replacing `#if` conditionals that test the
framework selection macros directly.


  Commit: cb2639196842630c0a1d5f91e26261f1c42b49fb
      https://github.com/llvm/llvm-project/commit/cb2639196842630c0a1d5f91e26261f1c42b49fb
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/include/flang/Evaluate/characteristics.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/test/Semantics/resolve102.f90

  Log Message:
  -----------
  [flang] Make proc characterization error conditional for generics (#89429)

When the characteristics of a procedure depend on a procedure that
hasn't yet been defined, the compiler currently emits an unconditional
error message. This includes the case of a procedure whose
characteristics depend, perhaps indirectly, on itself. However, in the
case where the characteristics of a procedure are needed to resolve a
generic, we should not emit an error for a hitherto undefined procedure
-- either the call will resolve to another specific procedure, in which
case the error is spurious, or it won't, and then an error will issue
anyway.

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


  Commit: 2f7775775c486c1afc725719fd55a318b589d7c6
      https://github.com/llvm/llvm-project/commit/2f7775775c486c1afc725719fd55a318b589d7c6
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [docs] Rewrite cmake LLVM_RAM_PER_*_JOB description (#88570)

Rewrite  `LLVM_PARALLEL_{}_JOBS` and `LLVM_RAM_PER_{}_JOB` documentation.


  Commit: fde5e471df3e946482422c10fa422b09a854c7cb
      https://github.com/llvm/llvm-project/commit/fde5e471df3e946482422c10fa422b09a854c7cb
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/module/__fortran_builtins.f90

  Log Message:
  -----------
  [flang] C_LOC is PURE (#89437)

The standard defines C_LOC as being PURE (actually SIMPLE now in
F'2023); characterize it appropriately.

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


  Commit: 1444e5acfb75630c23b118c39454a05cf3792d35
      https://github.com/llvm/llvm-project/commit/1444e5acfb75630c23b118c39454a05cf3792d35
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/real.h
    M flang/include/flang/Decimal/binary-floating-point.h
    M flang/include/flang/Evaluate/complex.h
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/real.h
    M flang/include/flang/Evaluate/type.h
    M flang/lib/Decimal/big-radix-floating-point.h
    M flang/lib/Evaluate/complex.cpp
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/integer.cpp
    M flang/lib/Evaluate/real.cpp
    M flang/test/Evaluate/fold-out_of_range.f90
    A flang/test/Evaluate/rewrite-out_of_range.F90

  Log Message:
  -----------
  [flang] Complete implementation of OUT_OF_RANGE() (#89334)

The intrinsic function OUT_OF_RANGE() lacks support in lowering and the
runtime. This patch obviates a need for any such support by implementing
OUT_OF_RANGE() via rewriting in semantics. This rewriting of
OUT_OF_RANGE() calls replaces the existing code that folds
OUT_OF_RANGE() calls with constant arguments.

Some changes and fixes were necessary outside of OUT_OF_RANGE()'s
folding code (now rewriting code), whose testing exposed some other
issues worth fixing.

- The common::RealDetails<> template class was recoded in terms of a new
base class with a constexpr constructor, so that the the characteristics
of the various REAL kinds could be queried dynamically as well. This
affected some client usage.
- There were bugs in the code that folds TRANSFER() when the type of X
or MOLD was REAL(10) -- this is a type that occupies 16 bytes per
element in execution memory but only 10 bytes (was 12) in the data of
std::vector<Scalar<>> in a Constant<>.
- Folds of REAL->REAL conversions weren't preserving infinities.


  Commit: 579efe011b0c8909d88ac9fd068a30a5f32dd1b2
      https://github.com/llvm/llvm-project/commit/579efe011b0c8909d88ac9fd068a30a5f32dd1b2
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt

  Log Message:
  -----------
  Temporarily remove `clang_rt.ctx_profile` target

Trying to address the build failure on the `clang-ve-ninja`bot, which
appears hard to repro locally. The target isn't needed currently (there
are unit tests exercising the new functionality). Removing it for now
to green-ify the build bot.


  Commit: 5fef5e68dcb015a73220173d08ab0987b6cf1582
      https://github.com/llvm/llvm-project/commit/5fef5e68dcb015a73220173d08ab0987b6cf1582
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

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

  Log Message:
  -----------
  [GlobalISel] matchSDivByConst should use isNullValue() (#89666)

It has been using isZeroValue(), which is for floats, not integers.


  Commit: 6094b3b7db7eab8318b9d30dec2691d231c7bdff
      https://github.com/llvm/llvm-project/commit/6094b3b7db7eab8318b9d30dec2691d231c7bdff
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  [ORC] Unify task dispatch across ExecutionSession and ExecutorProcessControl.

Updates ExecutionSession to use the ExecutorProcessControl object's
TaskDispatcher rather than having a separate dispatch function. This gives the
TaskDispatcher a global view of all tasks to be executed, and provides a
single point to wait on for tasks to complete when shutting down the JIT.


  Commit: 2e2ac6f29c80b715c8b0495b7037f5d2427289ef
      https://github.com/llvm/llvm-project/commit/2e2ac6f29c80b715c8b0495b7037f5d2427289ef
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Evaluate/fold-logical.cpp

  Log Message:
  -----------
  [flang] Fix build warning (#89686)

A recent patch had three declared but unused variables in it, triggering
a warning in some build bots. Remove them.


  Commit: a28557aadd89d80733c608e5bfa6e672aca423eb
      https://github.com/llvm/llvm-project/commit/a28557aadd89d80733c608e5bfa6e672aca423eb
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  Revert "[ORC] Unify task dispatch across ExecutionSession and ExecutorProcessControl."

This reverts commit 6094b3b7db7eab8318b9d30dec2691d231c7bdff.

Multiple bots are broken.


  Commit: 365bddf634993d5ea357e9715d8aacd7ee40c4b5
      https://github.com/llvm/llvm-project/commit/365bddf634993d5ea357e9715d8aacd7ee40c4b5
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/hwasan-check-memaccess-fixedshadow.ll

  Log Message:
  -----------
  [hwasan] Add intrinsics for fixed shadow on Aarch64 (#89319)

This patch introduces HWASan memaccess intrinsics that assume a fixed
shadow (with the offset provided by --hwasan-mapping-offset=...), with
and without short granule support.

The behavior of HWASan is not meaningfully changed by this patch;
future work ("Optimize outlined memaccess for
fixed shadow on Aarch64": https://github.com/llvm/llvm-project/pull/88544) will make HWASan use these intrinsics.

We currently only support lowering the LLVM IR intrinsic to AArch64.

The test case is adapted from hwasan-check-memaccess.ll.


  Commit: 8f54ed2173cb6a55d8be3a24764db61692a329dc
      https://github.com/llvm/llvm-project/commit/8f54ed2173cb6a55d8be3a24764db61692a329dc
  Author: dyung <douglas.yung at sony.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td

  Log Message:
  -----------
  Update CHECK lines in tests after 14e6f63 added new output causing the tests to fail on multiple bots. (#89689)

Update the check lines added in #87247 after 14e6f63 updated the output
causing the tests to fail.

This should hopefully unbreak the bots failing due to these two tests
failing.


  Commit: 28cea99845601cad840ccda23a8415f83e5a2b8c
      https://github.com/llvm/llvm-project/commit/28cea99845601cad840ccda23a8415f83e5a2b8c
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [Bazel][libc] Fix build failure


  Commit: 30d4f6afc9d594fff309121116d8373b66fb1a24
      https://github.com/llvm/llvm-project/commit/30d4f6afc9d594fff309121116d8373b66fb1a24
  Author: Lubomir Litchev <9732688+LLITCHEV at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp

  Log Message:
  -----------
  Make createReadOrMaskedRead and isValidMaskedInputVector vector utilities (#89119)

Made the createReadOrMaskedRead and isValidMaskedInputVector utility
functions - to be accessible outside of the CU. Needed by the IREE new
TopK implementation.


  Commit: dc3f94384d79941a712b15ac5c53bf86daa860c8
      https://github.com/llvm/llvm-project/commit/dc3f94384d79941a712b15ac5c53bf86daa860c8
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/rv32zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll

  Log Message:
  -----------
  Revert "[RISCV] Implement RISCVISD::SHL_ADD and move patterns into combine (#89263)"

This reverts commit 5a7c80ca58c628fab80aa4f95bb6d18598c70c80.  Noticed failures
with the following command:
$ llc -mtriple=riscv64 -mattr=+m,+xtheadba -verify-machineinstrs < test/CodeGen/RISCV/rv64zba.ll

I think I know the cause and will likely reland with a fix tomorrow.


  Commit: 1effa19de2493b835f3b74dd92e77c8b199069a5
      https://github.com/llvm/llvm-project/commit/1effa19de2493b835f3b74dd92e77c8b199069a5
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  Re-apply "[ORC] Unify task dispatch across ExecutionSession and..." with fix.

This re-applies 6094b3b7db7, which was reverted in a28557aadd8 due to broken
bots. As far as I can tell all failures were due to a missing #include <deque>,
which has been adedd in this commit.


  Commit: 16efd2a4c4b6a811688e5f623cb04dbd2d0579e8
      https://github.com/llvm/llvm-project/commit/16efd2a4c4b6a811688e5f623cb04dbd2d0579e8
  Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    A clang/test/Driver/aix-small-local-exec-dynamic-tls.c
    R clang/test/Driver/aix-small-local-exec-tls.c

  Log Message:
  -----------
  [AIX][TLS][clang]  Add -maix-small-local-dynamic-tls clang option (#88829)

This patch adds the clang portion of an AIX-specific option to inform
the
compiler that it can use a faster access sequence for the local-dynamic
TLS model (formally named aix-small-local-dynamic-tls).

This patch mainly references Amy's work on small local-exec TLS support.


  Commit: aa89c1bd78a0c49801193bec5e7f5c023448bd19
      https://github.com/llvm/llvm-project/commit/aa89c1bd78a0c49801193bec5e7f5c023448bd19
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py

  Log Message:
  -----------
  [lldb][DAP] Fix test failure from #73393 (#89692)

#73393 introduced a mandatory column field. Update test for that.


  Commit: e7efd37c2296f329fb0fd687dd0cfb846d47480f
      https://github.com/llvm/llvm-project/commit/e7efd37c2296f329fb0fd687dd0cfb846d47480f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  Revert "Re-apply [ORC] Unify task dispatch across ExecutionSession and..."

This reverts commit 1effa19de24 while I investigate the test failure at
https://lab.llvm.org/buildbot/#/builders/285/builds/888.


  Commit: ff153bd553574e8049fb1f4d6858c889bc2e99a8
      https://github.com/llvm/llvm-project/commit/ff153bd553574e8049fb1f4d6858c889bc2e99a8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll

  Log Message:
  -----------
  [InstCombine] Add test for #89669 (NFC)


  Commit: 28d85e2d9e9f3b62554ad8446095aac275022c3c
      https://github.com/llvm/llvm-project/commit/28d85e2d9e9f3b62554ad8446095aac275022c3c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/select.ll

  Log Message:
  -----------
  [InstCombine] Add test for #89500 (NFC)


  Commit: af8445e9ce4d9bd74775a68b694957640f29d28a
      https://github.com/llvm/llvm-project/commit/af8445e9ce4d9bd74775a68b694957640f29d28a
  Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp

  Log Message:
  -----------
  [lldb] Replace condition that always evaluates to false (#89685)

Addresses issue #87243. 

The current code incorrectly checks the validity of ```obj``` twice when
it should be checking the new ```str_obj``` pointer.

Signed-off-by: Troy-Butler <squintik at outlook.com>
Co-authored-by: Troy-Butler <squintik at outlook.com>


  Commit: f8a19a8f74f2dffbca654c5d84881cfe17026dab
      https://github.com/llvm/llvm-project/commit/f8a19a8f74f2dffbca654c5d84881cfe17026dab
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp

  Log Message:
  -----------
  [SimplifyQuery] Avoid PatternMatch.h include (NFC)

Move the one method that uses it out of line. This is primarily to
reduce the number of files to rebuild when changing PatternMatch.h.


  Commit: 4127a69d6c9106cb96a5da30daec7df80fb812d1
      https://github.com/llvm/llvm-project/commit/4127a69d6c9106cb96a5da30daec7df80fb812d1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/unittests/Support/MathExtrasTest.cpp

  Log Message:
  -----------
  [Support] Fix a warning

This patch fixes:

  third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
  error: comparison of integers of different signs: 'const int' and
  'const unsigned long' [-Werror,-Wsign-compare]


  Commit: 34ee77c46ae70cdbac77d1d86de2c616e68c74f6
      https://github.com/llvm/llvm-project/commit/34ee77c46ae70cdbac77d1d86de2c616e68c74f6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/speculate-store.ll

  Log Message:
  -----------
  [SimplifyCFG] Add tests for #89672 (NFC)


  Commit: 4ec9a662d388db8a2bb862dbaa7fc3fd809d1240
      https://github.com/llvm/llvm-project/commit/4ec9a662d388db8a2bb862dbaa7fc3fd809d1240
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ADT/StringRef.h

  Log Message:
  -----------
  [ADT] Remove StringRef::{startswith,endswith} (#89548)

These functions have been deprecated since:

  commit 5ac12951b4e9bbfcc5791282d0961ec2b65575e9
  Author: Kazu Hirata <kazu at google.com>
  Date:   Sun Dec 17 15:52:50 2023 -0800


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

  Changed paths:
    A llvm/test/TableGen/riscv-target-def.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV][TableGen] Generate RISCVTargetParserDef.inc from the new RISCVExtension tblgen information. (#89335)

Instead of using RISCVISAInfo's extension information, use the extension
found in tblgen after #89326.
    
We still need to use RISCVISAInfo code to get the sorting rules for the
ISA string.
    
The ISA string we generate now is not quite the same extension we had
before. No implied extensions are included in the generate string unless
they are explicitly listed in RISCVProcessors.td. This primarily affects
Zicsr being implied by F, V implying Zve*, and Zvl*b implying a smaller
Zvl*b. All of these implication should be picked up when the string is
used by the frontend.
    
The benefit is that we get a more manageable ISA string for humans to
deal with.
    
This is a step towards generating RISCVISAInfo's extension list from
tblgen.


  Commit: 883887493c882d656d5da100ee637a348e81357c
      https://github.com/llvm/llvm-project/commit/883887493c882d656d5da100ee637a348e81357c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/speculate-store.ll

  Log Message:
  -----------
  [SimplifyCFG] Check alignment when speculating stores

When speculating a store based on a preceding load/store, we need
to ensure that the speculated store does not have a higher
alignment (which might only be guaranteed by the branch condition).

There are various ways in which this could be strengthened (we
could get or enforce the alignment), but for now just do the
simple check against the preceding load/store.

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


  Commit: e5f9de89e540b06893709d97f3ce9671071b3df0
      https://github.com/llvm/llvm-project/commit/e5f9de89e540b06893709d97f3ce9671071b3df0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprConstant.cpp

  Log Message:
  -----------
  [clang][CodeGen][NFC] Make ConstExprEmitter a ConstStmtVisitor (#89041)

No reason for this to not be one. This gets rid of a few const_casts.


  Commit: 25a391c7718ee8ed22e85dec212b5b77722c7f4e
      https://github.com/llvm/llvm-project/commit/25a391c7718ee8ed22e85dec212b5b77722c7f4e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Sink some repeated code into parseVTypeToken. NFC (#89694)

Both calls to parseVTypeToken were proceeded by check for an Identifier
token and a call to getIdentifier. Sync those into the parseVTypeToken
to reduce repetition.


  Commit: 07b1177eed7549d0badf72078388422ce73167a0
      https://github.com/llvm/llvm-project/commit/07b1177eed7549d0badf72078388422ce73167a0
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Use semantical type DeclID instead of raw type 'uint32_t'

This patch tries to use DeclID in the code bases to avoid use the raw
type 'uint32_t'. It is problematic to use the raw type 'uint32_t' if we
want to change the type of DeclID some day.


  Commit: a2ccd5d88ffa8a730914c608601e1e3f7785cb08
      https://github.com/llvm/llvm-project/commit/a2ccd5d88ffa8a730914c608601e1e3f7785cb08
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Transforms/FunctionAttrs/noundef.ll

  Log Message:
  -----------
  [FunctionAttrs] Fix incorrect noundef inference with poison attrs (#89348)

Currently, when inferring noundef, we only check that the return value
is not undef/poison. However, we fail to account for the possibility
that a poison-generating return attribute will convert the value to
poison, and then violate the noundef attribute, resulting in immediate
UB.

For the relevant return attributes (align, nonnull and range), check
whether we can trivially re-prove the relevant property, otherwise do
not infer noundef.

This fixes the FunctionAttrs side of
https://github.com/llvm/llvm-project/issues/88026.


  Commit: 02d00ec985f8ab9e26bd80fb38c88471da4cb0c8
      https://github.com/llvm/llvm-project/commit/02d00ec985f8ab9e26bd80fb38c88471da4cb0c8
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTBitCodes.h

  Log Message:
  -----------
  [NFC] Remove unused LocalRedeclarationsInfo from ASTBitcodes.h

As the title suggested.


  Commit: b28f4d4dd0bbf50059cb19ca794af967374e1900
      https://github.com/llvm/llvm-project/commit/b28f4d4dd0bbf50059cb19ca794af967374e1900
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/Support/OnDiskHashTable.h

  Log Message:
  -----------
  [memprof] Omit the key length for the record table (#89527)

The record table has a constant key length, so we don't need to
serialize or deserialize it for every key-data pair.  Omitting the key
length saves 0.06% of the indexed MemProf file size.

Note that it's OK to change the format because Version2 is still under
development.


  Commit: 4513050f526be8bc17883685efec91a15ae427f8
      https://github.com/llvm/llvm-project/commit/4513050f526be8bc17883685efec91a15ae427f8
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/IR/Builders.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [MLIR] Harmonize the behavior of the folding API functions (#88508)

This commit changes `OpBuilder::tryFold` to behave more similarly to
`Operation::fold`. Concretely, this ensures that even an in-place fold
returns `success`.
This is necessary to fix a bug in the dialect conversion that occurred
when an in-place folding made an operation legal. The dialect conversion
infrastructure did not check if the result of an in-place folding
legalized the operation and just went ahead and tried to apply pattern
anyways.

The added test contains a simplified version of a breakage we observed
downstream.


  Commit: 9ba6961ce05b17a70c22354f0b54a963ed1ab49c
      https://github.com/llvm/llvm-project/commit/9ba6961ce05b17a70c22354f0b54a963ed1ab49c
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/Transfer.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/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  Reapply "[clang][dataflow] Model conditional operator correctly." with fixes (#89596)

I reverted https://github.com/llvm/llvm-project/pull/89213 beause it was
causing buildbots to fail with assertion failures.

Embarrassingly, it turns out I had been running tests locally in
`Release` mode, i.e. with `assert()` compiled away.

This PR re-lands #89213 with fixes for the failing assertions.


  Commit: 79225349748bb556fd027cc0bfeb73b1e9a632f4
      https://github.com/llvm/llvm-project/commit/79225349748bb556fd027cc0bfeb73b1e9a632f4
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformEnums.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
    A mlir/test/Dialect/Linalg/transpose-matmul-a.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul-b.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul.mlir

  Log Message:
  -----------
  [mlir][linalg] Add patterns to convert matmul to transposed variants (#89075)

This adds patterns to convert from the Linalg matmul and batch_matmul
ops to the transposed variants. By default the LHS matrix is transposed.

Our work enabling a lowering path from linalg.matmul to ArmSME has
revealed the current lowering results in non-contiguous memory accesses
for the A matrix and very poor performance.

These patterns provide a simple option to fix this.


  Commit: 87a2159553dce77a55b3f121ad4ce82bc20553ef
      https://github.com/llvm/llvm-project/commit/87a2159553dce77a55b3f121ad4ce82bc20553ef
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTRecordReader.h

  Log Message:
  -----------
  [NFC] [Serialization] Remove unused readVisibleDeclContextStorage from ASTRecordReader.h

As the title suggested.


  Commit: eaab97a0b7f15ce1f68aaa9daf7e96468933cad8
      https://github.com/llvm/llvm-project/commit/eaab97a0b7f15ce1f68aaa9daf7e96468933cad8
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [NFC] Rename hlsl semantics to hlsl annotations (#89309)

The attribute name "HLSLSemantics" is confusing, because semantics
aren't always the annotation that are applied to specific variables. The
name for this attribute needs to be less specific. This PR changes the
attribute name from HLSLSemantic to HLSLAnnotation, and changes the
associated function and variable names to support this conceptual
change.
The HLSLAnnotation attribute will never be output in ast-dump due to it
being parsed for the attribute that it represents. There is no
functional change, so there are no accompanying tests.


  Commit: 561b3decdfb56e6765bff90121fc0b6f918f1c0b
      https://github.com/llvm/llvm-project/commit/561b3decdfb56e6765bff90121fc0b6f918f1c0b
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Add test data to adapt for 79225349748bb556fd027cc0bfeb73b1e9a632f4


  Commit: a04624206ddf03dc54d5c372e7eac13575b4124b
      https://github.com/llvm/llvm-project/commit/a04624206ddf03dc54d5c372e7eac13575b4124b
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/test/AST/ast-dump-fpfeatures.cpp
    A clang/test/AST/ast-dump-fpfeatures.m
    A clang/test/AST/ast-dump-late-parsing.cpp

  Log Message:
  -----------
  [clang] Set correct FPOptions if attribute 'optnone' presents (#85605)

Attribute `optnone` must turn off all optimizations including fast-math
ones. Actually AST nodes in the 'optnone' function still had fast-math
flags. This change implements fixing FP options before function body is
parsed.


  Commit: 35159c2e813ffc0f6cdf20c5c466b17b5a63e2e1
      https://github.com/llvm/llvm-project/commit/35159c2e813ffc0f6cdf20c5c466b17b5a63e2e1
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/include/flang/Evaluate/call.h
    M flang/test/Lower/HLFIR/calls-f77.f90

  Log Message:
  -----------
  [flang] handle intrinsic interfaces in FunctionRef::GetType (#89583)

User functions may be declared with an interface that is a specific
intrinsic. In such case, there is no result type available from the
procedure symbol (at least without using evaluate::Probe), and
FunctionRef::GetType() returned nullopt. This caused lowering to crash.
The result type of specific intrinsic procedures is always a lengthless
intrinsic type, so it is fully defined in the template argument of
FunctionRef. Use it.


  Commit: 3ea9ed471c8dca8f703d7f3ce93d274a718b54bb
      https://github.com/llvm/llvm-project/commit/3ea9ed471c8dca8f703d7f3ce93d274a718b54bb
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/docs/GlobalISel/IRTranslator.rst
    M llvm/docs/WritingAnLLVMBackend.rst

  Log Message:
  -----------
  [GlobalISel] Expand IRTranslator docs. NFC (#89186)

Add some more details about how calls are lowered and what APIs are
available.


  Commit: 654846560c8892b32ea1e92c1fffc5e70bf0e75f
      https://github.com/llvm/llvm-project/commit/654846560c8892b32ea1e92c1fffc5e70bf0e75f
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    A mlir/test/Target/Cpp/global.mlir

  Log Message:
  -----------
  EmitC: Add emitc.global and emitc.get_global (#145) (#88701)

This adds
- `emitc.global` and `emitc.get_global` ops to model global variables
similar to how `memref.global` and `memref.get_global` work.
- translation of those ops to C++
- lowering of `memref.global` and `memref.get_global` into those ops

---------

Co-authored-by: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>


  Commit: 05c1447b3eabe9cc4a27866094e46c57350c5d5a
      https://github.com/llvm/llvm-project/commit/05c1447b3eabe9cc4a27866094e46c57350c5d5a
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/availability.c

  Log Message:
  -----------
  [clang][ExtractAPI] Serialize platform specific unavailable attribute in symbol graphs (#89277)

rdar://125622225


  Commit: ce763bff081f8e97c7c3610ed0f15f14d60e875f
      https://github.com/llvm/llvm-project/commit/ce763bff081f8e97c7c3610ed0f15f14d60e875f
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [analyzer] Fix performance of getTaintedSymbolsImpl() (#89606)

Previously the function
```
std::vector<SymbolRef> taint::getTaintedSymbolsImpl(ProgramStateRef State,
                                                    const MemRegion *Reg,
                                                    TaintTagType K,
                                                    bool returnFirstOnly)
```
(one of the 4 overloaded variants under this name) was handling element
regions in a highly inefficient manner: it performed the "also examine
the super-region" step twice. (Once in the branch for element regions,
and once in the more general branch for all `SubRegion`s -- note that
`ElementRegion` is a subclass of `SubRegion`.)

As pointer arithmetic produces `ElementRegion`s, it's not too difficult
to get a chain of N nested element regions where this inefficient
recursion would produce 2^N calls.

This commit is essentially NFC, apart from the performance improvements
and the removal of (probably irrelevant) duplicate entries from the
return value of `getTaintedSymbols()` calls.

Fixes #89045


  Commit: 55fc5eb95fbd26ac0539089cfc4e287ad7a233c3
      https://github.com/llvm/llvm-project/commit/55fc5eb95fbd26ac0539089cfc4e287ad7a233c3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll

  Log Message:
  -----------
  [LV] Add additional cost model tests with inductions and truncates.

Add test coverage for additional cases not covered by current tests with
multiple inductions and truncates.


  Commit: 0e44ffe817ae0f544199be70f468975fcc3ab5c5
      https://github.com/llvm/llvm-project/commit/0e44ffe817ae0f544199be70f468975fcc3ab5c5
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    A llvm/test/DebugInfo/X86/call-origin-linkage-names.ll

  Log Message:
  -----------
  [DWARF] Add option to add linkage_names to call_origin declaration refs (#89640)

If -mllvm -add-linkage-names-to-external-call-origins is true then add
DW_AT_linkage_name attributes to DW_TAG_subprogram DIEs referenced by
DW_AT_call_origin attributes that would otherwise be omitted.

A debugger may use DW_TAG_call_origin attributes to determine whether any
frames in a callstack are missing due to optimisations (e.g. tail calls).

For example, say a() calls b() tail-calls c(), and you stop in your debugger
in c():

The callstack looks like this:
    c()
    a()

Looking "up" from c(), call site information can be found in a(). This includes
a DW_AT_call_origin referencing b()'s subprogram DIE, which means the call at
this call site was to b(), not c() where we are currently stopped. This
indicates b()'s frame has been lost due to optimisation (or is misleading due
to ICF).

This patch makes it easier for a debugger to check whether the referenced
DIE describes the target function or not, for example by comparing the referenced
function name to the current frame.

There's already an option to apply DW_AT_linkage_name in a targeted manner:
-dwarf-linkage-names=Abstract, which limits adding DW_AT_linkage_names to
abstract subprogram DIEs (this is default for SCE tuning).

The new flag shouldn't affect non-SCE-tuned behaviour whether it is enabled
or not because the non-SCE-tuned behaviour is to always add linkage names to
subprogram DIEs.


  Commit: da57609947f254fb13f1556d4d29c7a0f9a23160
      https://github.com/llvm/llvm-project/commit/da57609947f254fb13f1556d4d29c7a0f9a23160
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/test/MC/AArch64/ilp32-diagnostics.s

  Log Message:
  -----------
  [PAC][MC][AArch64] Fix error message for AUTH_ABS64 reloc with ILP32 (#89563)

The `LP64 eqv:` should say that the equivalent is `AUTH_ABS64` rather
than `ABS64` when trying to emit an AUTH absolute reloc with ILP32.


  Commit: c921ac724ff06997bab25715786c98d4926b0c0e
      https://github.com/llvm/llvm-project/commit/c921ac724ff06997bab25715786c98d4926b0c0e
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
    M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
    M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
    M llvm/test/CodeGen/WebAssembly/multivalue.ll
    M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll

  Log Message:
  -----------
  [WebAssembly] Enable multivalue return when multivalue ABI is used (#88492)

Multivalue feature of WebAssembly has been standardized for several
years now. I think it makes sense to be able to enable it in the feature
section by default for our clang/llvm-produced binaries so that the
multivalue feature can be used as necessary when necessary within our
toolchain and also when running other optimizers (e.g. wasm-opt) after
the LLVM code generation.

But some WebAssembly toolchains, such as Emscripten, do not provide both
mulvalue-returning and not-multivalue-returning versions of libraries.
Also allowing the uses of multivalue in the features section does not
necessarily mean we generate them whenever we can to the fullest, which
is a different code generation / optimization option.

So this makes the lowering of multivalue returns conditional on the use
of 'experimental-mv' target ABI. This ABI is turned off by default and
turned on by passing `-Xclang -target-abi -Xclang experimental-mv` to
`clang`, or `-target-abi experimental-mv` to `clang -cc1` or `llc`.

But the purpose of this PR is not tying the multivalue lowering to this
specific 'experimental-mv'. 'experimental-mv' is just one multivalue ABI
we currently have, and it is still experimental, meaning it is not very
well optimized or tuned for performance. (e.g. it does not have the
limitation of the max number of multivalue-lowered values, which can be
detrimental to performance.) We may change the name of this ABI, or
improve it, or add a new multivalue ABI in the future. Also I heard that
WASI is planning to add their multivalue ABI soon. So the plan is,
whenever any one of multivalue ABIs is enabled, we enable the lowering
of multivalue returns in the backend. We currently have only
'experimental-mv' in the repo so we only check for that in this PR.

Related past discussions:
 #82714
https://github.com/WebAssembly/tool-conventions/pull/223#issuecomment-2008298652


  Commit: b8e3b2ad66cf78ad2b7832577b1d58dc93c5da21
      https://github.com/llvm/llvm-project/commit/b8e3b2ad66cf78ad2b7832577b1d58dc93c5da21
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Turn type alias LocalDeclID into class

Previously, the LocalDeclID and GlobalDeclID are defined as:

```
using LocalDeclID = DeclID;
using GlobalDeclID = DeclID;
```

This is more or less concerning that we may misuse LocalDeclID and
GlobalDeclID without understanding it. There is also a FIXME saying
this.

This patch tries to turn LocalDeclID into a class to improve the type
safety here.


  Commit: a22ffe54a33035d95ee239a11b4dc771f66d102b
      https://github.com/llvm/llvm-project/commit/a22ffe54a33035d95ee239a11b4dc771f66d102b
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/ref-type-mem2local.ll

  Log Message:
  -----------
  [WebAssembly] Make RefTypeMem2Local recognize target-features (#88916)

Currently we check `Subtarget->hasReferenceTypes()` to decide whether to
run `RefTypeMem2Local` pass:

https://github.com/llvm/llvm-project/blob/6133878227efc30355c02c2f089e06ce58231a3d/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp#L491-L495

This works fine when `-mattr=+reference-types` is given in the command
line (of `llc` or of `wasm-ld` in case of LTO). This also works fine if
the backend is called by Clang, because Clang's feature set will be
passed to the backend when creating a `TargetMachine`:
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/clang/lib/CodeGen/BackendUtil.cpp#L549-L550
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/clang/lib/CodeGen/BackendUtil.cpp#L561-L562

But if the backend compilation is called by `llc`, a `TargetMachine` is
created here:

https://github.com/llvm/llvm-project/blob/bf1ad1d267b1f911cb9846403d2c3d3250a40870/llvm/tools/llc/llc.cpp#L554-L555
And if the backend is called by `wasm-ld`'s LTO, a `TargetMachine` is
created here:

https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/llvm/lib/LTO/LTOBackend.cpp#L513
At this point, in the both places, the created `TargetMachine` only has
access to target features given by the command line with `-mattr=` and
doesn't have access to bitcode functions' `target-features` attribute.

We later gather the target features used by functions and store that
info in the `TargetMachine` in `CoalesceFeaturesAndStripAtomics`,
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp#L202-L206
but this runs in the pass pipeline driven by the pass manager, so this
has not run by the time we check `Subtarget->hasReferenceTypes()` in
`WebAssemblyPassConfig::addISelPrepare`. So currently `RefTypeMem2Local`
would not run on those functions with
`"target-features"="+reference-types"` attributes if the backend is
called by `llc` or `wasm-ld`.

So this makes `RefTypeMem2Local` pass run unconditionally, and checks
`target-featurs` function attribute to decide whether to run the pass on
each function. This allows the pass to run with `wasm-ld` + LTO and
`llc`, even if `-mattr=+reference-types` is not explicitly given in the
command line again, as long as `+reference-types` is in the function's
`target-features` attribute.

This also covers the case we give the target features by the command
line like `llc -mattr=+reference-types` and not in the bitcode
function's attribute, because attributes given in the command line will
be stored in the function's attributes anyway:

https://github.com/llvm/llvm-project/blob/bd28889732e14ac6baca686c3ec99a82fc9cd89d/llvm/lib/CodeGen/CommandFlags.cpp#L673-L674
https://github.com/llvm/llvm-project/blob/bd28889732e14ac6baca686c3ec99a82fc9cd89d/llvm/lib/CodeGen/CommandFlags.cpp#L732-L733

With this PR,
- `lto0.test_externref_emjs`
- `thinlto0.test_externref_emjs`,
- `lto0.test_externref_emjs_dynlink`,
- `thinlto0.test_externref_emjs_dynlnk`

pass. These currently fail but don't get checked in the CI. I think they
used to pass but started to fail after #83196, because we used to run
mem2reg even with `-O0` before that.
(`ltoN` (N > 0) tests are not affected because they run mem2reg anyway
so they don't need `RefTypeMem2Local`)


  Commit: d5093aac543dfd24f339f7d43aa02282f7c16fa5
      https://github.com/llvm/llvm-project/commit/d5093aac543dfd24f339f7d43aa02282f7c16fa5
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [mlir][bazel] drop unnecessary rule

#75960 added a bazel rule for generating enums for the async dialects, but there are no enums defined, and no cmake rule for that. Delete this rule.


  Commit: f220c359f451de900fc8738cbfa27f33c3fc000e
      https://github.com/llvm/llvm-project/commit/f220c359f451de900fc8738cbfa27f33c3fc000e
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp

  Log Message:
  -----------
  Revert "[mlir][linalg] Enable fuse consumer" (#89722)

Reverts llvm/llvm-project#85528. This was committed without tests,
despite reviewers requesting tests to be added. The post-commit
discussion leans towards revert, which would be consistent with the
policy.


  Commit: 20cb2ed5299bf1e8d9f2c92785179ec6c947d490
      https://github.com/llvm/llvm-project/commit/20cb2ed5299bf1e8d9f2c92785179ec6c947d490
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/Support/OnDiskHashTable.h

  Log Message:
  -----------
  Revert b28f4d4dd0bbf50059cb19ca794af967374e1900 "[memprof] Omit the key length for the record table (#89527)"

Breaks on EXPENSIVE_CHECKS builds which still use the static ReadKeyDataLength implementation in several locations


  Commit: dbcfb434a9c7fea194c7b1f7f04f0947f88dbc85
      https://github.com/llvm/llvm-project/commit/dbcfb434a9c7fea194c7b1f7f04f0947f88dbc85
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M lldb/test/API/python_api/type/TestTypeList.py

  Log Message:
  -----------
  [lldb/test] Rename a function

I misunderstood what is the function looking up


  Commit: a68ea36b4a55352e89ab4a80d59b8ad8e614a3dc
      https://github.com/llvm/llvm-project/commit/a68ea36b4a55352e89ab4a80d59b8ad8e614a3dc
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td

  Log Message:
  -----------
  [mlir][EmitC] Update GlobalOp description (#89726)


  Commit: 8cc34fadec71c358c2c69bbca236294afb259e02
      https://github.com/llvm/llvm-project/commit/8cc34fadec71c358c2c69bbca236294afb259e02
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    R flang/test/Lower/OpenMP/Todo/reduction-allocatable.f90
    A flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90

  Log Message:
  -----------
  [flang][OpenMP] Support reduction of allocatable variables (#88392)

Both arrays and trivial scalars are supported. Both cases must use
by-ref reductions because both are boxed.

My understanding of the standards are that OpenMP says that this should
follow the rules of the intrinsic reduction operators in fortran, and
fortran says that unallocated allocatable variables can only be
referenced to allocate them or test if they are already allocated.
Therefore we do not need a null pointer check in the combiner region.


  Commit: bc7204811dd20e124fbb8713e652fcf70872b0b3
      https://github.com/llvm/llvm-project/commit/bc7204811dd20e124fbb8713e652fcf70872b0b3
  Author: Adam Paszke <adam.paszke at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [bazel] Add a bazel flag to enable building MLIR with CUDA support (#88856)

This makes it possible to specify
`-- at llvm-project//mlir:enable_cuda=true` on the bazel command line and
get a build that includes NVIDIA GPU support in MLIR.


  Commit: 719112c2f667a1e4a51faeba966d8715d272cd98
      https://github.com/llvm/llvm-project/commit/719112c2f667a1e4a51faeba966d8715d272cd98
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir

  Log Message:
  -----------
  AMDGPU: precommit test for bug in RenameIndependentSubregs


  Commit: be1c72d2ba497de7e9420df0b6a136bbb8942a42
      https://github.com/llvm/llvm-project/commit/be1c72d2ba497de7e9420df0b6a136bbb8942a42
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
    M mlir/test/Dialect/Linalg/transpose-matmul-a.mlir
    M mlir/test/Dialect/Linalg/transpose-matmul-b.mlir

  Log Message:
  -----------
  [mlir][linalg] Move transpose_matmul to targeted transform op (#89717)

More targeted than a blanket "apply everywhere" pattern. Follow up to
#89075 to address @ftynse's feedback.


  Commit: b467c6b53660dcaa458c2b5d7fbf5f93ee2af910
      https://github.com/llvm/llvm-project/commit/b467c6b53660dcaa458c2b5d7fbf5f93ee2af910
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Turn type alias GlobalDeclID into a class

Succsessor of b8e3b2ad66cf78ad2b. This patch also converts the type
alias GlobalDeclID to a class to improve the readability and type
safety.


  Commit: 132bf4aedd678277b57d8e2bdabf9a1e9eb254c5
      https://github.com/llvm/llvm-project/commit/132bf4aedd678277b57d8e2bdabf9a1e9eb254c5
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/test/Integration/lit.local.cfg

  Log Message:
  -----------
  [mlir][aarch64] Remove LIT config for lli (#89545)

This change will only affect MLIR integration tests to be run on
AArch64. When originally introduced, these tests would run with `lli`.
Those tests has since been updated to use `mlir-cpu-runner` instead, see
e.g.:

  * https://reviews.llvm.org/D155405
  * https://reviews.llvm.org/D146917

This patch removes all the leftover `lli` configuration in LIT that's
currently not needed (and is unlikely to be needed any time soon).


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

  Changed paths:
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll

  Log Message:
  -----------
  [VectorCombine][X86] Add test showing foldShuffleOfShuffles folding shuffles that would be better separate

On AVX+ targets a broadcast load can be treated as free.


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

  Changed paths:
    A llvm/test/Analysis/CostModel/X86/load-broadcast.ll

  Log Message:
  -----------
  [CostModel][X86] Add costs test coverage for broadcast loads

Broadcast shuffles can be free is fed from a one-use load


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/load-broadcast.ll

  Log Message:
  -----------
  [CostModel][X86] Broadcast shuffles can be free if they are from a one-use load

AVX1+ can handle 32/64-bit broadcast loads, AVX2+ can handle all broadcast loads (we should be able to improve isLegalBroadcastLoad to handle more of this type matching).


  Commit: 34caafe84ffd8588e717c92da358ad9368cc4fe5
      https://github.com/llvm/llvm-project/commit/34caafe84ffd8588e717c92da358ad9368cc4fe5
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

  Log Message:
  -----------
  [LLVM][CodeGen][AArch64] Simplify lowering for predicate inserts. (#89072)

The original code has an invalid use of UZP1 because the result vector
type does not match its input vector types. Rather than insert extra nop
casts I figure it would be better to use CONCAT_VECTORS because that's
the operation we're performing.

NOTE: This is a step to enable more asserts in verifyTargetSDNode.


  Commit: d610a513ce10b41c94da9299e926f22d96e873bc
      https://github.com/llvm/llvm-project/commit/d610a513ce10b41c94da9299e926f22d96e873bc
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir

  Log Message:
  -----------
  RenameIndependentSubregs: Add missing sub-range for new IMPLICIT_DEFs (#89050)

Existing sub-ranges are correctly updated because new IMPLICIT_DEF is
added, but there is missing sub-range for IMPLICIT_DEF itself.
Because of missing sub-range in live-intervals for IMPLICIT_DEF,
register allocator does not know that IMPLICIT_DEF rewrites its
virtual sub-registers and can end up assigning overlapping physical
registers to them.
This results in deleting instructions that were defined by sub-registers
overwritten by IMPLICIT_DEF as they are now dead.


  Commit: a9689c6029e3078e09e43a4efb2b2ced98e9020f
      https://github.com/llvm/llvm-project/commit/a9689c6029e3078e09e43a4efb2b2ced98e9020f
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] rev(whilelo(a,b)) -> whilehi(b,a). (#88294)

Add similar isel patterns for lt, gt and hi comparison types.


  Commit: 17fb3e82f6c950267bb01cc2fd2a84b0d9e9d0d8
      https://github.com/llvm/llvm-project/commit/17fb3e82f6c950267bb01cc2fd2a84b0d9e9d0d8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll

  Log Message:
  -----------
  [VPlan] Skip extending ICmp results in trunateToMinimalBitwidth.

Results of icmp don't need extending after truncating their operands, as
the result will always be i1. Skip them during extending.

Fixes https://github.com/llvm/llvm-project/issues/79742
Fixes https://github.com/llvm/llvm-project/issues/85185


  Commit: 7f4f237cd8510b74230d6fd4b5c4610a3d88dd3f
      https://github.com/llvm/llvm-project/commit/7f4f237cd8510b74230d6fd4b5c4610a3d88dd3f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfShuffles - add missing arguments to getShuffleCost calls.

Ensure the getShuffleCost arguments/instruction args are populated - minor extension to #88743 to help improve shuffle costs for certain corner cases (e.g. shuffles of loads)


  Commit: 8a631d789859d09ba3a11a1206c30e595f4b6428
      https://github.com/llvm/llvm-project/commit/8a631d789859d09ba3a11a1206c30e595f4b6428
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h

  Log Message:
  -----------
  [TableGen] Fix ReplaceRegAction RTTI Kind


  Commit: bac5d8ed036869bc65ba2eef6d4afd671ca7c72b
      https://github.com/llvm/llvm-project/commit/bac5d8ed036869bc65ba2eef6d4afd671ca7c72b
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.td
    A llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/ARM/ARM.td
    A llvm/lib/Target/ARM/ARMArchitectures.td
    A llvm/lib/Target/ARM/ARMFeatures.td
    A llvm/lib/Target/ARM/ARMProcessors.td

  Log Message:
  -----------
  [ARM][AArch64] Split out processor and feature tablegen defs [NFC] (#88282)


  Commit: c52b18d1e41107067b7557d8af3a06e6fe0beb0f
      https://github.com/llvm/llvm-project/commit/c52b18d1e41107067b7557d8af3a06e6fe0beb0f
  Author: ealcdan <daniel.alcaide.nombela at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/5/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp

  Log Message:
  -----------
  [clang-tidy] Avoid overflow when dumping unsigned integer values (#85060)

Some options take the maximum unsigned integer value as default, but
they are being dumped to a string as integers. This makes -dump-config
write invalid '-1' values for these options. This change fixes this
issue by using utostr if the option is unsigned.

Fixes #60217


  Commit: b8174512111bc116776de24e2cff3f6f94d536fe
      https://github.com/llvm/llvm-project/commit/b8174512111bc116776de24e2cff3f6f94d536fe
  Author: Martin Wehking <martin.wehking at codeplay.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    M llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp

  Log Message:
  -----------
  Make default initialization explicit

Coverity (a static analysis tool) reported that the emitted 'Features'
variable inside emitComputeAvailableFeatures in TableGen might be
unitialized.
Silence this warning by adding brackets for the default initialization.
Adapt test cases to take additional brackets into account.


  Commit: 9fb7a736f0f893ffd5da3cebaed30bc91e6a8514
      https://github.com/llvm/llvm-project/commit/9fb7a736f0f893ffd5da3cebaed30bc91e6a8514
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/fcmp-select.ll
    M llvm/test/Transforms/InstCombine/select-select.ll

  Log Message:
  -----------
  [InstCombine] Fold fcmp into select (#86482)

This patch simplifies `fcmp (select Cond, C1, C2), C3` patterns in
ceres:
Alive2: https://alive2.llvm.org/ce/z/fWh_sD
```
define i1 @src(double %x) {
  %cmp1 = fcmp ord double %x, 0.000000e+00
  %sel = select i1 %cmp1, double 0xFFFFFFFFFFFFFFFF, double 0.000000e+00
  %cmp2 = fcmp oeq double %sel, 0.000000e+00
  ret i1 %cmp2
}

define i1 @tgt(double %x) {
  %cmp1 = fcmp uno double %x, 0.000000e+00
  ret i1 %cmp1
}

```


  Commit: 56ed3dd77f4ef07a9b35cbb3d0ca868cc0999d01
      https://github.com/llvm/llvm-project/commit/56ed3dd77f4ef07a9b35cbb3d0ca868cc0999d01
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/Hexagon/arg-copy-elison.ll

  Log Message:
  -----------
  Pre-commit reproducer for argument copy elison related bug

Adding test case related to
  https://github.com/llvm/llvm-project/issues/89060

It shows that after argument copy elison the scheduler may reorder
a load of the input argument and a store to the same fixed stack
entry (the fixed stack entry that is reused for the local variable).


  Commit: d8b253be56b3e9073b3e59123cf2da0bcde20c63
      https://github.com/llvm/llvm-project/commit/d8b253be56b3e9073b3e59123cf2da0bcde20c63
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/Hexagon/arg-copy-elison.ll

  Log Message:
  -----------
  [SelectionDAG] Mark frame index as "aliased" at argument copy elison (#89712)

This is a fix for miscompiles reported in
  https://github.com/llvm/llvm-project/issues/89060

After argument copy elison the IR value for the eliminated alloca
is aliasing with the fixed stack object. This patch is making sure
that we mark the fixed stack object as being aliased with IR values
to avoid that for example schedulers are reordering accesses to
the fixed stack object. This could otherwise happen when there is a
mix of MemOperands refering the shared fixed stack slow via both
the IR value for the elided alloca, and via a fixed stack pseudo
source value (as would be the case when lowering the arguments).


  Commit: 0661af893f12c2b09089b4758cf00d9b84230ea0
      https://github.com/llvm/llvm-project/commit/0661af893f12c2b09089b4758cf00d9b84230ea0
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/test/Semantics/OpenMP/firstprivate02.f90
    A flang/test/Semantics/OpenMP/lastprivate03.f90
    M flang/test/Semantics/OpenMP/parallel-private01.f90
    M flang/test/Semantics/OpenMP/parallel-private02.f90
    M flang/test/Semantics/OpenMP/parallel-private03.f90
    M flang/test/Semantics/OpenMP/parallel-private04.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/parallel-shared01.f90
    M flang/test/Semantics/OpenMP/parallel-shared02.f90
    M flang/test/Semantics/OpenMP/parallel-shared03.f90
    M flang/test/Semantics/OpenMP/parallel-shared04.f90

  Log Message:
  -----------
  [Flang][OpenMP] Add restriction about subobjects to firstprivate and … (#89608)

…lastprivate

OpenMP 5.2 standard (Section 5.3) defines privatization for list items.
Section 3.2.1 in the standard defines list items to exclude variables
that are part of other variables.

This patch adds the restriction to firstprivate and lastprivates, it was
previously added for privates.

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

Note: The specific checks that are added here are explicitly called out
in OpenMP 4.0
(https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.pdf) Sections
2.14.3.4 and 2.14.3.5 but in later standards have become implicit
through other definitions.


  Commit: 5fd9bbdea6cc248469d5465de44e747378ffafcb
      https://github.com/llvm/llvm-project/commit/5fd9bbdea6cc248469d5465de44e747378ffafcb
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/shift-combine.ll

  Log Message:
  -----------
  [DAGCombiner] Pre-commit test case for miscompile bug in combineShiftOfShiftedLogic

DAGCombiner is trying to fold shl over binops, and in the process
combining it with another shl. However it needs to be more careful
to ensure that the sum of the shift counts fits in the type used
for the shift amount.
For example, X86 is using i8 as shift amount type. So we need to
make sure that the sum of the shift amounts isn't greater than 255.

Fix will be applied in a later commit. This only pre-commits the
test case to show that we currently get the wrong result.

Bug was found when testing the C23 BitInt feature.


  Commit: f9b419b7a038dcd51a7943b160acc867714c595f
      https://github.com/llvm/llvm-project/commit/f9b419b7a038dcd51a7943b160acc867714c595f
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/shift-combine.ll

  Log Message:
  -----------
  [DAGCombiner] Fix miscompile bug in combineShiftOfShiftedLogic (#89616)

Ensure that the sum of the shift amounts does not overflow the
shift amount type when combining shifts in combineShiftOfShiftedLogic.

Solves a miscompile bug found when testing the C23 BitInt feature.

Targets like X86 that only use an i8 for shift amounts after
legalization seems to be extra susceptible for bugs like this as it
isn't legal to shift more than 255 steps.


  Commit: 304dfe10bd96ef8badd53d4796bba070cc8d30dc
      https://github.com/llvm/llvm-project/commit/304dfe10bd96ef8badd53d4796bba070cc8d30dc
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] getTargetShuffleMask - update to take a SDValue instead of a SDNode. NFC.

Also just get the value type from the SDValue instead of passing it separately.


  Commit: 8ab3caf4d3acef29f373e09bc6a0ac459918930e
      https://github.com/llvm/llvm-project/commit/8ab3caf4d3acef29f373e09bc6a0ac459918930e
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/test/Parser/cxx2a-constrained-template-param.cpp

  Log Message:
  -----------
  [Clang][Parser] Don't always destroy template annotations at the end of a declaration (#89494)

Since
[6163aa9](https://github.com/llvm/llvm-project/commit/6163aa96799cbad7f2f58e02c5bebee9647056a5#diff-3a7ef0bff7d2b73b4100de636f09ea68b72eda191b39c8091a6a1765d917c1a2),
we have introduced an optimization that almost always destroys
TemplateIdAnnotations at the end of a function declaration. This doesn't
always work properly: a lambda within a default template argument could
also result in such deallocation and hence a use-after-free bug while
building a type constraint on the template parameter.

This patch adds another flag to the parser to tell apart cases when we
shouldn't do such cleanups eagerly. A bit complicated as it is, this retains
the optimization on a highly templated function with lots of generic lambdas.

Note the test doesn't always trigger a conspicuous bug/crash even with a
debug build. But a sanitizer build can detect them, I believe.

Fixes https://github.com/llvm/llvm-project/issues/67235
Fixes https://github.com/llvm/llvm-project/issues/89127


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll

  Log Message:
  -----------
  [VPlan] Ignore incoming values with constant false mask. (#89384)

Ignore incoming values with constant false masks when trying to simplify
VPBlendRecipes.

As a follow-on optimization, we should also be able to drop all incoming
values with false masks by creating a new VPBlendRecipe with those
operands dropped.

PR: https://github.com/llvm/llvm-project/pull/89384


  Commit: 31af5e9001508dd2e58d2232e900adba01896736
      https://github.com/llvm/llvm-project/commit/31af5e9001508dd2e58d2232e900adba01896736
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/test/CodeGen/RISCV/atomic-rmw.ll
    M llvm/test/CodeGen/RISCV/atomic-signext.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll
    M llvm/test/Transforms/AtomicExpand/SPARC/partword.ll

  Log Message:
  -----------
  AtomicExpand: Emit or with constant on RHS

This will save later code from commuting it.


  Commit: 70d3ddb280ea47066349eed1cd99bc0348bf4186
      https://github.com/llvm/llvm-project/commit/70d3ddb280ea47066349eed1cd99bc0348bf4186
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/lib/Frontend/OpenMP/OMP.cpp
    M llvm/unittests/Frontend/CMakeLists.txt
    R llvm/unittests/Frontend/OpenMPComposeTest.cpp
    A llvm/unittests/Frontend/OpenMPCompositionTest.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Add functions for checking construct type (#87258)

Implement helper functions to identify leaf, composite, and combined
constructs.


  Commit: b926f75e89c025afeb040cbd245ce2ba9cce9fce
      https://github.com/llvm/llvm-project/commit/b926f75e89c025afeb040cbd245ce2ba9cce9fce
  Author: Takuto Ikuta <tikuta at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M libcxx/utils/libcxx/header_information.py

  Log Message:
  -----------
  [libc++] Add some private headers to libcxx.imp (#89568)

https://github.com/llvm/llvm-project/pull/78295 dropped private headers
in top level directory from libcxx.imp.

This PR re-adds them to libcxx.imp.


  Commit: 670ac235b52887b621ab9c75c6be7f5ac4ceb9f8
      https://github.com/llvm/llvm-project/commit/670ac235b52887b621ab9c75c6be7f5ac4ceb9f8
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
    M mlir/test/Target/LLVMIR/Import/import-failure.ll

  Log Message:
  -----------
  [RemoveDIs][MLIR] Don't process debug records in the LLVM-IR translator (#89735)

We are almost ready to enable the use of debug records everywhere in
LLVM by default; part of the prep-work for this means ensuring that
every tool supports them. Every tool in the `llvm/` project supports
them, front-ends that use the `DIBuilder` will support them, and as far
as I can tell, the only other tool in the LLVM repo that needs to
support them but doesn't is `mlir-translate`. This patch trivially
unblocks them by converting from debug records to debug intrinsics
before translating a module.


  Commit: a9e3fbf429ad1869c9434a9660fb8185378d6df4
      https://github.com/llvm/llvm-project/commit/a9e3fbf429ad1869c9434a9660fb8185378d6df4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 70d3ddb280ea


  Commit: e0a763c490d8ef58dca867e0ef834978ccf8e17d
      https://github.com/llvm/llvm-project/commit/e0a763c490d8ef58dca867e0ef834978ccf8e17d
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll

  Log Message:
  -----------
  [AMDGPU] Fix GFX12 encoding of s_wait_event export_ready (#89622)

As well as flipping the sense of the bit, GFX12 moved it from bit 0 to
bit 1 in the encoded simm16 operand.


  Commit: b4a0fd40f1b94eac571d29ee7695b492934d9bfc
      https://github.com/llvm/llvm-project/commit/b4a0fd40f1b94eac571d29ee7695b492934d9bfc
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/alternate-opcode-sindle-bv.ll

  Log Message:
  -----------
  [SLP]Fix PR89635: do not try to vectorize single-gather alternate node.

No need to try to vectorize single gather/buildvector with alternate
opcode graph, it is not profitable. In other cases, need to use last
instruction for inserting the vectorized code.


  Commit: 282ab543a92740100c1119c701258c2900c5d00c
      https://github.com/llvm/llvm-project/commit/282ab543a92740100c1119c701258c2900c5d00c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll

  Log Message:
  -----------
  [RISCV] Add additional mul strength reduction coverage with xtheadba


  Commit: 74cab546825b32f24e44d69942cdbdd129160471
      https://github.com/llvm/llvm-project/commit/74cab546825b32f24e44d69942cdbdd129160471
  Author: mahtohappy <Happy.Kumar at Windriver.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/SemaCXX/PR41441.cpp

  Log Message:
  -----------
  Reapply "[Clang][Sema] placement new initializes typedef array with correct size (#83124)" (#89036)

When in-place new-ing a local variable of an array of trivial type, the
generated code calls 'memset' with the correct size of the array,
earlier it was generating size (squared of the typedef array + size).

The cause: typedef TYPE TArray[8]; TArray x; The type of declarator is
Tarray[8] and in SemaExprCXX.cpp::BuildCXXNew we check if it's of
typedef and of constant size then we get the original type and it works
fine for non-dependent cases.
But in case of template we do TreeTransform.h:TransformCXXNEWExpr and
there we again check the allocated type which is TArray[8] and it stays
that way, so ArraySize=(Tarray[8] type, alloc Tarray[8*type]) so the
squared size allocation.

ArraySize gets calculated earlier in TreeTransform.h so that
if(!ArraySize) condition was failing.
fix: I changed that condition to if(ArraySize).
fixes https://github.com/llvm/llvm-project/issues/41441

---------

Co-authored-by: erichkeane <ekeane at nvidia.com>


  Commit: d5022d9ad4aec250f77d21c819a9810a97b8b6a8
      https://github.com/llvm/llvm-project/commit/d5022d9ad4aec250f77d21c819a9810a97b8b6a8
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/EHPersonalities.h
    M llvm/lib/IR/EHPersonalities.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/CodeGen/SystemZ/zos-no-eh-label.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Make z/OS personality function known (#89679)

This change adds the z/OS personality function to the list of known EH
personality functions. It enables removing of the EH data/labels if the
personality function is not invoked.


  Commit: adb0126ef11b0083d5a78be1534ccefa53def1cf
      https://github.com/llvm/llvm-project/commit/adb0126ef11b0083d5a78be1534ccefa53def1cf
  Author: Patrick O'Neill <patrick at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    A llvm/test/Transforms/LoopVectorize/vplan-infer-not-or-type.ll

  Log Message:
  -----------
  [VPlan] Add scalar inferencing support for Not and Or insns (#89160)

Fixes #87394.

PR: https://github.com/llvm/llvm-project/pull/89160


  Commit: c1086532d4d5c0a261457dfb00e79fcb764e3d78
      https://github.com/llvm/llvm-project/commit/c1086532d4d5c0a261457dfb00e79fcb764e3d78
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/RangesMajorFeatures.csv
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/ranges
    A libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] P2387R3: Pipe support for user-defined range adaptors (#89148)

This patch finalizes the std::ranges::range_adaptor_closure
class template from https://wg21.link/P2387R3.

  // [range.adaptor.object], range adaptor objects
  template<class D>
    requires is_class_v<D> && same_as<D, remove_cv_t<D>>
  class range_adaptor_closure { };

The current implementation of __range_adaptor_closure was introduced
in ee44dd8062a26541808fc0d3fd5c6703e19f6016 and has served as the
foundation for the range adaptors in libc++ for a while. This patch
keeps its implementation, with the exception of the following changes:

- __range_adaptor_closure now includes the missing constraints
  `is_class_v<D> && same_as<D, remove_cv_t<D>>` to restrict the 
  type of class that can inherit from it. (https://eel.is/c++draft/ranges.syn)
- The operator| of __range_adaptor_closure no longer requires its
  first argument to model viewable_range. (https://eel.is/c++draft/range.adaptor.object#1)
- The _RangeAdaptorClosure concept is refined to exclude cases where
  T models range or where T has base classes of type range_adaptor_closure<U>
  for another type U. (https://eel.is/c++draft/range.adaptor.object#2)


  Commit: 8317d366212763d907d6d61a6d07450168a33bfb
      https://github.com/llvm/llvm-project/commit/8317d366212763d907d6d61a6d07450168a33bfb
  Author: Ryan Holt <ryanholt at mathworks.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    A mlir/test/Dialect/Linalg/runtime-verification.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir

  Log Message:
  -----------
  [mlir][linalg] Add runtime verification for linalg ops (#89342)

This commit implements runtime verification for LinalgStructuredOps
using the existing `RuntimeVerifiableOpInterface`. The verification
checks that the runtime sizes of the operands match the runtime sizes
inferred by composing the loop ranges with the op's indexing maps.


  Commit: 1d7086e475c76046b58f4e1c5568720f1c67ad55
      https://github.com/llvm/llvm-project/commit/1d7086e475c76046b58f4e1c5568720f1c67ad55
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  clang/win: Add a flag to disable default-linking of compiler-rt libraries (#89642)

For ASan, users already manually have to pass in the path to the lib,
and for other libraries they have to pass in the path to the libpath.

With LLVM's unreliable name of the lib (due to
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR confusion and whatnot), it's useful
to be able to opt in to just explicitly passing the paths to the libs
everywhere.

Follow-up of sorts to https://reviews.llvm.org/D65543, and to #87866.


  Commit: 03760ad09d49f74c026f0b5d41d982cad81c67d7
      https://github.com/llvm/llvm-project/commit/03760ad09d49f74c026f0b5d41d982cad81c67d7
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/rv32zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll

  Log Message:
  -----------
  Reapply "[RISCV] Implement RISCVISD::SHL_ADD and move patterns into combine (#89263)"

Changes since original commit:
* Rebase over improved test coverage for theadba
* Revert change to use TargetConstant as it appears to prevent the uimm2
  clause from matching in the XTheadBa patterns.
* Fix an order of operands bug in the THeadBa pattern visible in the new
  test coverage.

Original commit message follows:

This implements a RISCV specific version of the SHL_ADD node proposed in
https://github.com/llvm/llvm-project/pull/88791.

If that lands, the infrastructure from this patch should seamlessly
switch over the to generic DAG node. I'm posting this separately because
I've run out of useful multiply strength reduction work to do without
having a way to represent MUL X, 3/5/9 as a single instruction.

The majority of this change is moving two sets of patterns out of
tablgen and into the post-legalize combine. The major reason for this is
that I have an upcoming change which needs to reuse the expansion logic,
but it also helps common up some code between zba and the THeadBa
variants.

On the test changes, there's a couple major categories:
* We chose a different lowering for mul x, 25. The new lowering involves
  one fewer register and the same critical path, so this seems like a win.
* The order of the two multiplies changes in (3,5,9)*(3,5,9) in some
  cases. I don't believe this matters.
* I'm removing the one use restriction on the multiply. This restriction
  doesn't really make sense to me, and the test changes appear positive.


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

  Changed paths:
    M mlir/include/mlir/IR/OperationSupport.h

  Log Message:
  -----------
  [mlir] Update comment about `propertiesAttr` (NFC) (#89634)

The comment is misleading because `propertiesAttr` is not actually
ignored when the operation isn't unregistered.


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

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

  Log Message:
  -----------
  [X86] pr34592.ll - add nounwind to remove cfi noise


  Commit: 03c8a29d1061c9dd47953c21aae70f46075f1b0c
      https://github.com/llvm/llvm-project/commit/03c8a29d1061c9dd47953c21aae70f46075f1b0c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [X86] pr34592.ll - add O3 codegen run for comparison


  Commit: c793f4a4dab058cee4f283100946a1bb8e465f59
      https://github.com/llvm/llvm-project/commit/c793f4a4dab058cee4f283100946a1bb8e465f59
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  [RISCV] Add test coverage for mul (zext), 2^N + 2/4/8 [nfc]


  Commit: f426be195a08874686d01783bbc490295bf4afb2
      https://github.com/llvm/llvm-project/commit/f426be195a08874686d01783bbc490295bf4afb2
  Author: Ryan Holt <ryanholt at mathworks.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    R mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    R mlir/test/Dialect/Linalg/runtime-verification.mlir
    R mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir

  Log Message:
  -----------
  Revert "[mlir][linalg] Add runtime verification for linalg ops" (#89780)

Reverts llvm/llvm-project#89342 due to build failure


  Commit: df608051234c256f1dc2c89f30afd034706c2c2e
      https://github.com/llvm/llvm-project/commit/df608051234c256f1dc2c89f30afd034706c2c2e
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/rsqrt-opt.ll
    A llvm/test/CodeGen/NVPTX/rsqrt.ll

  Log Message:
  -----------
  [NVPTX] Improve support for rsqrt.approx (#89417)

Complete support for rsqrt.approx with rsqrt.approx.f64 ([PTX ISA
9.7.3.17. Floating Point Instructions:
rsqrt.approx.ftz.f64](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#floating-point-instructions-rsqrt-approx-ftz-f64)).
Additionally, add support for folding `sqrt` into `rsqrt`, with an
optional flag to disable.


  Commit: 3197146cc6ae1cefe0b21326f0509add3369decb
      https://github.com/llvm/llvm-project/commit/3197146cc6ae1cefe0b21326f0509add3369decb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine][AArch64] shuffletoidentity.ll - regenerate checks

Reduce diffs in #88899


  Commit: 143be6a60186d6c1a6a298d0b7acdc1a4d69a321
      https://github.com/llvm/llvm-project/commit/143be6a60186d6c1a6a298d0b7acdc1a4d69a321
  Author: Dhruv Chawla <dhruvc at nvidia.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-itofp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [AArch64][GISel] Avoid scalarizing G_IMPLICIT_DEF and G_FREEZE in the Legalizer (#88469)

It does not make sense to scalarize G_FREEZE as it leads to the generation
of pairs of G_UNMERGE_VALUES and G_BUILD_VECTORs which are difficult to
optimize especially when operations like G_TRUNC operate before G_FREEZE
but after G_UNMERGE_VALUES.

Instead, it is better to legalize G_FREEZE like any other vector type
would be, as it gets lowered to a COPY during instruction selection
anyways.

This is an issue that was encountered when looking at the TSVC
benchmark, where the legalization of G_FREEZE would cause generation of
unnecessary MOVs that adversely affected the performance.


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

  Changed paths:
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll

  Log Message:
  -----------
  [VectorCombine][X86] shuffle-of-binops.ll - adjust no matching operand test to use FDIV

Use of FDIV allows us to show a definite cost improvement with #88899


  Commit: cebc9609d8cdc6f488693cd8e4a616b935b38d2c
      https://github.com/llvm/llvm-project/commit/cebc9609d8cdc6f488693cd8e4a616b935b38d2c
  Author: David Green <david.green at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
    M llvm/test/CodeGen/AArch64/arm64-uzp.ll
    M llvm/test/CodeGen/AArch64/arm64-zip.ll

  Log Message:
  -----------
  [AArch64] Match ZIP and UZP starting from undef elements. (#89578)

In case the first element of a zip/uzp mask is undef, the isZIPMask and
isUZPMask functions have a 50% chance of picking the wrong
"WhichResult", meaning they don't match a zip/uzp where they could. This
patch alters the matching code to first check for the first non-undef
element, to try and get WhichResult correct.


  Commit: abfb4915e12f4767de8714cf79591b509b09896e
      https://github.com/llvm/llvm-project/commit/abfb4915e12f4767de8714cf79591b509b09896e
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp

  Log Message:
  -----------
  [NFC][InstrProf] Increment valid profile stat in populateCoverage (#89660)

We increment `NumOfCSPGOFunc` and `NumOfPGOFunc` in
`PGOUseFunc::readCounters()` already. We should do the same in
`PGOUseFunc::populateCoverage`.


https://github.com/llvm/llvm-project/blob/83bc7b57714dc2f6b33c188f2b95a0025468ba51/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp#L1331


  Commit: 49cb6dbcb8537270cd0e2a9bcd6663d2e619f5aa
      https://github.com/llvm/llvm-project/commit/49cb6dbcb8537270cd0e2a9bcd6663d2e619f5aa
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/cuf02.cuf

  Log Message:
  -----------
  [flang][cuda] Remove restriction on device subprogram (#89677)

Newer version allow `pure`, `elemental` and `recursive` on device
subprogram.


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

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/5/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/Transfer.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/test/AST/ast-dump-fpfeatures.cpp
    A clang/test/AST/ast-dump-fpfeatures.m
    A clang/test/AST/ast-dump-late-parsing.cpp
    A clang/test/Driver/aix-small-local-exec-dynamic-tls.c
    R clang/test/Driver/aix-small-local-exec-tls.c
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/sanitizer-ld.c
    M clang/test/ExtractAPI/availability.c
    M clang/test/Parser/cxx2a-constrained-template-param.cpp
    A clang/test/SemaCXX/PR41441.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/CMakeLists.txt
    M compiler-rt/lib/builtins/fp_add_impl.inc
    M compiler-rt/lib/builtins/fp_fixint_impl.inc
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/lib/builtins/int_types.h
    A compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    A compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    A compiler-rt/lib/ctx_profile/tests/driver.cpp
    M compiler-rt/test/gwp_asan/CMakeLists.txt
    M flang/include/flang/Common/real.h
    M flang/include/flang/Decimal/binary-floating-point.h
    M flang/include/flang/Evaluate/call.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/complex.h
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/real.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Decimal/big-radix-floating-point.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/complex.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/int-power.h
    M flang/lib/Evaluate/integer.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/real.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/module/__fortran_builtins.f90
    M flang/test/Evaluate/fold-out_of_range.f90
    A flang/test/Evaluate/rewrite-out_of_range.F90
    M flang/test/Lower/HLFIR/calls-f77.f90
    R flang/test/Lower/OpenMP/Todo/reduction-allocatable.f90
    A flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    A flang/test/Semantics/OpenMP/firstprivate02.f90
    A flang/test/Semantics/OpenMP/lastprivate03.f90
    M flang/test/Semantics/OpenMP/parallel-private01.f90
    M flang/test/Semantics/OpenMP/parallel-private02.f90
    M flang/test/Semantics/OpenMP/parallel-private03.f90
    M flang/test/Semantics/OpenMP/parallel-private04.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/parallel-shared01.f90
    M flang/test/Semantics/OpenMP/parallel-shared02.f90
    M flang/test/Semantics/OpenMP/parallel-shared03.f90
    M flang/test/Semantics/OpenMP/parallel-shared04.f90
    M flang/test/Semantics/cuf02.cuf
    M flang/test/Semantics/resolve102.f90
    M flang/test/Semantics/select-rank.f90
    M flang/test/Semantics/stmt-func02.f90
    M libc/src/__support/OSUtil/fuchsia/io.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/FPExceptMatcher.h
    R libc/test/UnitTest/FuchsiaTest.h
    A libc/test/UnitTest/GTest.h
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/UnitTest/MemoryMatcher.h
    R libc/test/UnitTest/PigweedTest.h
    M libc/test/UnitTest/Test.h
    A libc/test/UnitTest/ZxTest.h
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/RangesMajorFeatures.csv
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/ranges
    A libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp
    M libcxx/utils/libcxx/header_information.py
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
    M llvm/docs/CMake.rst
    M llvm/docs/GlobalISel/IRTranslator.rst
    M llvm/docs/WritingAnLLVMBackend.rst
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/include/llvm/IR/EHPersonalities.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Frontend/OpenMP/OMP.cpp
    M llvm/lib/IR/EHPersonalities.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    A llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
    A llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARM/ARM.td
    A llvm/lib/Target/ARM/ARMArchitectures.td
    A llvm/lib/Target/ARM/ARMFeatures.td
    A llvm/lib/Target/ARM/ARMProcessors.td
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Analysis/CostModel/X86/load-broadcast.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-itofp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/arm64-uzp.ll
    M llvm/test/CodeGen/AArch64/arm64-zip.ll
    M llvm/test/CodeGen/AArch64/hwasan-check-memaccess-fixedshadow.ll
    A llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    A llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll
    A llvm/test/CodeGen/Hexagon/arg-copy-elison.ll
    A llvm/test/CodeGen/NVPTX/rsqrt-opt.ll
    A llvm/test/CodeGen/NVPTX/rsqrt.ll
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/atomic-rmw.ll
    M llvm/test/CodeGen/RISCV/atomic-signext.ll
    M llvm/test/CodeGen/RISCV/fixups-diff.ll
    M llvm/test/CodeGen/RISCV/rv32zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll
    A llvm/test/CodeGen/SystemZ/zos-no-eh-label.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
    M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
    M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
    M llvm/test/CodeGen/WebAssembly/multivalue.ll
    M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll
    M llvm/test/CodeGen/WebAssembly/ref-type-mem2local.ll
    M llvm/test/CodeGen/X86/pr34592.ll
    M llvm/test/CodeGen/X86/shift-combine.ll
    M llvm/test/DebugInfo/LoongArch/dwarf-loongarch-relocs.ll
    M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
    M llvm/test/DebugInfo/RISCV/relax-debug-frame.ll
    M llvm/test/DebugInfo/Symbolize/ELF/riscv-temporary-symbol.s
    A llvm/test/DebugInfo/X86/call-origin-linkage-names.ll
    M llvm/test/ExecutionEngine/JITLink/RISCV/anonymous_symbol.s
    M llvm/test/MC/AArch64/ilp32-diagnostics.s
    M llvm/test/MC/ELF/RISCV/gen-dwarf.s
    M llvm/test/MC/RISCV/cfi-advance.s
    M llvm/test/MC/RISCV/fde-reloc.s
    M llvm/test/MC/RISCV/scoped-relaxation.s
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    A llvm/test/TableGen/riscv-target-def.td
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll
    M llvm/test/Transforms/AtomicExpand/SPARC/partword.ll
    M llvm/test/Transforms/FunctionAttrs/noundef.ll
    M llvm/test/Transforms/InstCombine/fcmp-select.ll
    M llvm/test/Transforms/InstCombine/select-select.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
    A llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
    A llvm/test/Transforms/LoopVectorize/vplan-infer-not-or-type.ll
    A llvm/test/Transforms/SLPVectorizer/X86/alternate-opcode-sindle-bv.ll
    M llvm/test/Transforms/SimplifyCFG/speculate-store.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
    M llvm/unittests/Frontend/CMakeLists.txt
    R llvm/unittests/Frontend/OpenMPComposeTest.cpp
    A llvm/unittests/Frontend/OpenMPCompositionTest.cpp
    M llvm/unittests/Support/MathExtrasTest.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
    M llvm/utils/TableGen/DirectiveEmitter.cpp
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformEnums.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    A mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul-a.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul-b.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul.mlir
    M mlir/test/Integration/lit.local.cfg
    A mlir/test/Target/Cpp/global.mlir
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp
    M mlir/test/lib/Conversion/FuncToLLVM/TestConvertCallOp.cpp
    M mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
    M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
    M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.h
    M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
    A mlir/test/lib/Dialect/Test/TestFormatUtils.cpp
    A mlir/test/lib/Dialect/Test/TestFormatUtils.h
    M mlir/test/lib/Dialect/Test/TestFromLLVMIRTranslation.cpp
    M mlir/test/lib/Dialect/Test/TestInterfaces.cpp
    M mlir/test/lib/Dialect/Test/TestInterfaces.h
    A mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    A mlir/test/lib/Dialect/Test/TestOps.cpp
    A mlir/test/lib/Dialect/Test/TestOps.h
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
    M mlir/test/lib/Dialect/Test/TestTraits.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.h
    M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
    M mlir/test/lib/IR/TestClone.cpp
    M mlir/test/lib/IR/TestSideEffects.cpp
    M mlir/test/lib/IR/TestSymbolUses.cpp
    M mlir/test/lib/IR/TestTypes.cpp
    M mlir/test/lib/IR/TestVisitorsGeneric.cpp
    M mlir/test/lib/Pass/TestPassManager.cpp
    M mlir/test/lib/Transforms/TestInlining.cpp
    M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
    M mlir/unittests/IR/AdaptorTest.cpp
    M mlir/unittests/IR/IRMapping.cpp
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp
    M mlir/unittests/IR/InterfaceTest.cpp
    M mlir/unittests/IR/OperationSupportTest.cpp
    M mlir/unittests/IR/PatternMatchTest.cpp
    M mlir/unittests/TableGen/OpBuildGen.cpp
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/build_defs.bzl
    M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel

  Log Message:
  -----------
  use ".L0 "

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/96f47f73ae9f...39d3a52fb704

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