SuccessChanges

Summary

  1. jenkins: More updates for "master" to "main" branch (details)
Commit 4cb746c769b80e7a5dfc99044bf6fe9314f5f0a6 by Azharuddin Mohammed
jenkins: More updates for "master" to "main" branch
The file was modifiedzorg/jenkins/monorepo_build.py (diff)
The file was modifiedtest/jenkins/test_monorepo_build.py (diff)

Summary

  1. [Verifier] add tests for saturating intrinsics; NFC (details)
  2. [Verifier] remove dead code for saturating intrinsics; NFC (details)
  3. [flang][fir][NFC] run clang-format (details)
  4. precommit test cleanup for D97077 (details)
  5. [msan] Set cmpxchg shadow precisely (details)
  6. [clang] Emit type metadata on available_externally vtables for WPD (details)
  7. [mlir] Add math polynomial approximation pass (details)
  8. Patch by @wecing (Chenguang Wang). (details)
  9. Add test triggered by review discussion on D97077 (details)
  10. [lldb] Rename {stop,run}_vote to report_{stop,run}_vote (details)
  11. Add datalayout to test added in 7e3183d73 (details)
  12. [RISCV] Remove VPatILoad and VPatIStore multiclasses that are no longer used. NFC (details)
  13. [libc++][nfc] SFINAE on pair/tuple assignment operators: LWG 2729. (details)
  14. [dfsan] Add origin address calculation (details)
  15. Revert "Fix MLIR Toy tutorial JIT example and add a test to cover it" (details)
  16. [AArch64][GlobalISel] Make G_VECREDUCE_ADD of <2 x s32> legal. (details)
  17. [AArch64] Adding Neon Polynomial vadd Intrinsics (details)
  18. [ValueTracking] Add a two argument form of safeCtxI [NFC] (details)
  19. [libcxx] Enable filesystem by default for mingw targets (details)
  20. [libc++][nfc] Only test if pair is_assignable after C++03. (details)
  21. [Coverage] Normalize compilation dir as well (details)
  22. [SystemZ/z/OS] Add XPLINK 64-bit calling convention to tablegen. (details)
  23. Revert "Revert "Fix MLIR Toy tutorial JIT example and add a test to cover it"" (details)
  24. [flang][fir] Update flang test tool support classes. (details)
Commit 38730b0029a448bff1c9ebd081747e748bcfa1ee by spatel
[Verifier] add tests for saturating intrinsics; NFC

As noted in D96904, we don't have direct tests for these malformed ops.
The file was addedllvm/test/Verifier/sat-intrinsics.ll
Commit d79063129c286b02fae04542051856f1229cee3d by spatel
[Verifier] remove dead code for saturating intrinsics; NFC

Test coverage shows that we assert with the string from the
tablegen defs file for these intrinsics, so these cases
should never be live.
The file was modifiedllvm/lib/IR/Verifier.cpp
Commit a88991d782889abcb3a1d44860d7cb009fa15747 by eschweitz
[flang][fir][NFC] run clang-format

cleanup post-merge
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.h
Commit 5de47ebff6d763a1ee7030252227a64a6dcce521 by listmail
precommit test cleanup for D97077
The file was modifiedllvm/test/Analysis/ScalarEvolution/ranges.ll
Commit efc8f3311b57ce438500d8a0908e6c7cf6c9f551 by jianzhouzh
[msan] Set cmpxchg shadow precisely

In terms of https://llvm.org/docs/LangRef.html#cmpxchg-instruction,
the return type of chmpxchg is a pair {ty, i1}, while I think we
only wanted to set the shadow for the address 0th op, and it has type
ty.

Reviewed-by: eugenis

Differential Revision: https://reviews.llvm.org/D97029
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/atomics.ll
Commit 0923a60ea70f884d2f170f65d0faa494a25af231 by tejohnson
[clang] Emit type metadata on available_externally vtables for WPD

When WPD is enabled, via WholeProgramVTables, emit type metadata for
available_externally vtables. Additionally, add the vtables to the
llvm.compiler.used global so that they are not prematurely eliminated
(before *LTO analysis).

This is needed to avoid devirtualizing calls to a function overriding a
class defined in a header file but with a strong definition in a shared
library. Without type metadata on the available_externally vtables from
the header, the WPD analysis never sees what a derived class is
overriding. Even if the available_externally base class functions are
pure virtual, because shared library definitions are already treated
conservatively (committed patches D91583, D96721, and D96722) we will
not devirtualize, which would be unsafe since the library might contain
overrides that aren't visible to the LTO unit.

An example is std::error_category, which is overridden in LLVM
and causing failures after a self build with WPD enabled, because
libstdc++ contains hidden overrides of the virtual base class methods.

Differential Revision: https://reviews.llvm.org/D96919
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedclang/test/CodeGenCXX/type-metadata.cpp
Commit f99ccf6516bdd5def4d3bc311330aec92f5cb99d by ezhulenev
[mlir] Add math polynomial approximation pass

This gives ~30x speedup compared to expanding Tanh into exp operations:

```
name                  old cpu/op  new cpu/op  delta
BM_mlir_Tanh_f32/10    253ns ± 3%    55ns ± 7%  -78.35%  (p=0.000 n=44+41)
BM_mlir_Tanh_f32/100  2.21µs ± 4%  0.14µs ± 8%  -93.85%  (p=0.000 n=48+49)
BM_mlir_Tanh_f32/1k   22.6µs ± 4%   0.7µs ± 5%  -96.68%  (p=0.000 n=32+42)
BM_mlir_Tanh_f32/10k   225µs ± 5%     7µs ± 6%  -96.88%  (p=0.000 n=49+55)

name                  old time/op             new time/op             delta
BM_mlir_Tanh_f32/10    259ns ± 1%               56ns ± 2%  -78.31%        (p=0.000 n=41+39)
BM_mlir_Tanh_f32/100  2.27µs ± 1%             0.14µs ± 5%  -93.89%        (p=0.000 n=46+49)
BM_mlir_Tanh_f32/1k   22.9µs ± 1%              0.8µs ± 4%  -96.67%        (p=0.000 n=30+42)
BM_mlir_Tanh_f32/10k   230µs ± 0%                7µs ± 3%  -96.88%        (p=0.000 n=37+55)
```

This approximations is based on Eigen::generic_fast_tanh function

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D96739
The file was modifiedmlir/include/mlir/Dialect/Math/Transforms/Passes.h
The file was modifiedmlir/lib/Dialect/Math/Transforms/CMakeLists.txt
The file was addedmlir/test/lib/Transforms/TestPolynomialApproximation.cpp
The file was addedmlir/test/mlir-cpu-runner/math_polynomial_approx.mlir
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was addedmlir/test/Dialect/Math/polynomial-approximation.mlir
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was addedmlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
Commit a0757d8ebdefa1c54896d70d2a04f68fc23f7916 by timshen
Patch by @wecing (Chenguang Wang).

The current getFoldedSizeOf() implementation uses naive recursion, which
could be really slow when the input structure type is too complex.

This issue was first brought up in
http://llvm.org/bugs/show_bug.cgi?id=8281; this change fixes it by
adding memoization.

Differential Revision: https://reviews.llvm.org/D6594
The file was addedllvm/test/tools/llvm-as/slow-ptrtoint.ll
The file was modifiedllvm/lib/IR/ConstantFold.cpp
Commit 7e3183d7352281b5d87668e66ad4d0870448a1a8 by listmail
Add test triggered by review discussion on D97077
The file was modifiedllvm/test/Analysis/ScalarEvolution/ranges.ll
Commit 9d3b9e5799f6b1ac3869df977c82304e0121d256 by davelee.com
[lldb] Rename {stop,run}_vote to report_{stop,run}_vote

Rename `stop_vote` and `run_vote` to `report_stop_vote` and `report_run_vote`
respectively. These variables are limited to logic involving (event) reporting only.
This naming is intended to make their context more clear.

Differential Revision: https://reviews.llvm.org/D96917
The file was modifiedlldb/include/lldb/Target/ThreadPlanStepOut.h
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepInstruction.cpp
The file was modifiedlldb/include/lldb/Target/Thread.h
The file was modifiedlldb/source/Target/Thread.cpp
The file was modifiedlldb/include/lldb/Target/ThreadPlan.h
The file was modifiedlldb/include/lldb/Target/ThreadPlanStepInstruction.h
The file was modifiedlldb/source/Target/ThreadPlan.cpp
The file was modifiedlldb/source/Target/ThreadPlanBase.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepOut.cpp
Commit cc574f85faacba023d6c2ce21037811a63f66837 by listmail
Add datalayout to test added in 7e3183d73

Realized after pushing this would probably fail on bots for other than x86-64.
The file was modifiedllvm/test/Analysis/ScalarEvolution/ranges.ll
Commit 7e54d7304be2ddb51b4e8ad5d1b29b103360e4cf by craig.topper
[RISCV] Remove VPatILoad and VPatIStore multiclasses that are no longer used. NFC
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Commit 82c4701d4e7e6c3bb879a5e98d660a126025b87a by zoecarver
[libc++][nfc] SFINAE on pair/tuple assignment operators: LWG 2729.

This patch ensures that SFINAE is used to delete assignment operators in pair and tuple based on issue 2729.

Differential Review: https://reviews.llvm.org/D62454
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_move.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp
The file was modifiedlibcxx/docs/Cxx1zStatusIssuesStatus.csv
The file was modifiedlibcxx/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_copy.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/move_pair.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/pairs/pairs.pair/assign_pair.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_pair.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair.pass.cpp
Commit cb1f1aab90408e04343f2b964e1027f46a92cf55 by jianzhouzh
[dfsan] Add origin address calculation

This is a part of https://reviews.llvm.org/D95835.

Reviewed-by: morehouse

Differential Revision: https://reviews.llvm.org/D97065
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
Commit f36060417ad3e247900dfcb07a2476a9d92ee2d2 by stilis
Revert "Fix MLIR Toy tutorial JIT example and add a test to cover it"

This reverts commit ae15b1e7ad71e4bfde1b031dd5e6b0bbb3b88a42.

This commit caused failures on the mlir windows buildbot
The file was removedmlir/test/Examples/Toy/Ch7/jit.toy
The file was modifiedmlir/examples/toy/Ch6/toyc.cpp
The file was removedmlir/test/Examples/Toy/Ch6/jit.toy
The file was modifiedmlir/examples/toy/Ch7/toyc.cpp
Commit 27566e9c3e65f23da2634077d76c932b72b20281 by Amara Emerson
[AArch64][GlobalISel] Make G_VECREDUCE_ADD of <2 x s32> legal.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-add.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Commit 55448ab540ded21bb2880e52efcf22e07603a096 by ctetreau
[AArch64] Adding Neon Polynomial vadd Intrinsics

This patch adds the following intrinsics:
            vadd_p8
            vadd_p16
            vadd_p64
            vaddq_p8
            vaddq_p16
            vaddq_p64
            vaddq_p128

Reviewed By: t.p.northover, DavidSpickett, ctetreau

Differential Revision: https://reviews.llvm.org/D96825
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was addedclang/test/CodeGen/aarch64-poly-add.c
The file was modifiedclang/include/clang/Basic/arm_neon.td
Commit b13e9422242df04c3b33a307ac50faad15d9b7e3 by listmail
[ValueTracking] Add a two argument form of safeCtxI [NFC]

The existing implementation was relying on order of evaluation to achieve a particular result.  This got really confusing when wanting to change the handling for arguments in a later patch.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit 99fc4a65847a7020ae328e42a67e80cc29c1e762 by martin
[libcxx] Enable filesystem by default for mingw targets

This feature can be built successfully for windows now. However,
the helper functions for __int128_t aren't available in MSVC
configurations, so don't enable it by default there yet. (See
https://reviews.llvm.org/D91139 for discussion on how to proceed
with things in MSVC environments.)

Differential Revision: https://reviews.llvm.org/D97075
The file was modifiedlibcxx/CMakeLists.txt
Commit 6c75a84ce76789d065b29e5966254e4943d7dba8 by zoecarver
[libc++][nfc] Only test if pair is_assignable after C++03.

In C++03 libc++ uses a different set of constructors which aren't
constrained, so these tests won't work. This should fix the bots.

Refs: 82c4701.
The file was modifiedlibcxx/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp
Commit 3275b18f8979ab750e3674f28e7f82c7ef37d2a3 by phosek
[Coverage] Normalize compilation dir as well

This matches debug info behavior.

Differential Revision: https://reviews.llvm.org/D97001
The file was modifiedclang/test/Profile/profile-prefix-map.c
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.cpp
Commit b006f555448a7b842f6d89cf4cdc6e2aa0b9a31e by kai
[SystemZ/z/OS] Add XPLINK 64-bit calling convention to tablegen.

This commit adds the initial changes to the SystemZ target
description for the XPLINK 64-bit calling convention on z/OS.
Additions include:

- a new predicate IsTargetXPLINK64
- different register allocation order
- generaton of nopr after a call

Reviewed-by: uweigand

Differential Revision: https://reviews.llvm.org/D96887
The file was modifiedllvm/lib/Target/SystemZ/SystemZScheduleZ13.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZCallingConv.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZScheduleZ196.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZRegisterInfo.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZScheduleZ15.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZSubtarget.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZScheduleZ14.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZScheduleZEC12.td
Commit f8c1f3b14ad988fd786b896b4b342606bdc760cf by joker.eph
Revert "Revert "Fix MLIR Toy tutorial JIT example and add a test to cover it""

This reverts commit f36060417ad3e247900dfcb07a2476a9d92ee2d2 and
reapply commit ae15b1e7ad71e4bfde1b031dd5e6b0bbb3b88a42.

JIT test must be annotated to not run on Windows.
The file was modifiedmlir/examples/toy/Ch6/toyc.cpp
The file was addedmlir/test/Examples/Toy/Ch7/jit.toy
The file was addedmlir/test/Examples/Toy/Ch6/jit.toy
The file was modifiedmlir/examples/toy/Ch7/toyc.cpp
Commit c68d2895a1f4019b387c69d1e5eec31b0eb5e7b0 by eschweitz
[flang][fir] Update flang test tool support classes.

This updates the various classes that support the compliation of
Fortran. These classes are shared by the test tools.

Authors: Eric Schweitz, Sameeran Joshi, et.al.

Differential Revision: https://reviews.llvm.org/D97073
The file was addedflang/unittests/Optimizer/FIRContextTest.cpp
The file was addedflang/lib/Optimizer/Support/FIRContext.cpp
The file was modifiedflang/lib/Optimizer/Support/KindMapping.cpp
The file was modifiedflang/lib/Optimizer/CMakeLists.txt
The file was modifiedflang/unittests/Optimizer/InternalNamesTest.cpp
The file was modifiedflang/unittests/Optimizer/KindMappingTest.cpp
The file was modifiedflang/lib/Optimizer/Support/InternalNames.cpp
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was addedflang/include/flang/Optimizer/Support/FIRContext.h
The file was modifiedflang/include/flang/Optimizer/Support/InternalNames.h
The file was modifiedflang/include/flang/Optimizer/Support/KindMapping.h

Summary

  1. jenkins: More updates for "master" to "main" branch (details)
Commit 4cb746c769b80e7a5dfc99044bf6fe9314f5f0a6 by Azharuddin Mohammed
jenkins: More updates for "master" to "main" branch
The file was modifiedtest/jenkins/test_monorepo_build.py
The file was modifiedzorg/jenkins/monorepo_build.py