Started 4 mo 20 days ago
Took 5 hr 22 min on green-dragon-22

Success Build #18473 (Jul 20, 2019 11:51:29 AM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 366637
  • http://llvm.org/svn/llvm-project/cfe/trunk : 366635
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 366634
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 364589
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 366606
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 366577
Changes
  1. [Codegen][SelectionDAG] X u% C == 0 fold: non-splat vector improvements

    Summary:
    Four things here:
    1. Generalize the fold to handle non-splat divisors. Reasonably trivial.
    2. Unban power-of-two divisors. I don't see any reason why they should
       be illegal.
       * There is no ban in Hacker's Delight
       * I think the ban came from the same bug that caused the miscompile
          in the base patch - in `floor((2^W - 1) / D)` we were dividing by
          `D0` instead of `D`, and we **were** ensuring that `D0` is not `1`,
          which made sense.
    3. Unban `1` divisors. I no longer believe Hacker's Delight actually says
       that the fold is invalid for `D = 0`. Further considerations:
       * We know that
         * `(X u% 1) == 0`  can be constant-folded to `1`,
         * `(X u% 1) != 0`  can be constant-folded to `0`,
       *  Also, we know that
         * `X u<= -1` can be constant-folded to `1`,
         * `X u>  -1` can be constant-folded to `0`,
       * https://godbolt.org/z/7jnZJX https://rise4fun.com/Alive/oF6p
       * We know will end up with the following:
           `(setule/setugt (rotr (mul N, P), K), Q)`
       * Therefore, for given new DAG nodes and comparison predicates
         (`ule`/`ugt`), we will still produce the correct answer if:
         `Q` is a all-ones constant; and both `P` and `K` are *anything*
         other than `undef`.
       * The fold will indeed produce `Q = all-ones`.
    4. Try to re-splat the `P` and `K` vectors - we don't care about
       their values for the lanes where divisor was `1`.

    Reviewers: RKSimon, hermord, craig.topper, spatel, xbolva00

    Reviewed By: RKSimon

    Subscribers: hiraditya, javed.absar, dexonsmith, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63963 (detail/ViewSVN)
    by lebedevri
  2. [X86][SSE] Use PSADBW to improve vXi8 sum reduction (PR42674)

    As detailed on PR42674, we can reduce a vXi8 down until we have the final <8 x i8>, and then use PSADBW with zero, to sum those values. We then extract the bottom i8, discarding any overflow from the upper bits of the i16 result. (detail/ViewSVN)
    by rksimon
  3. Fix cppcheck reduce scope variable warnings. NFCI

    Move a couple of variables inside the block where they are actually needed. (detail/ViewSVN)
    by rksimon
  4. Revert "Fix asan infinite loop on undefined symbol"

    This reverts commit cbd28cd05bb11e9d76d71c6cc2d38d89dbb1fe1a.

    Buildbot fail: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/22434/steps/64-bit%20check-asan-dynamic/ (detail/ViewSVN)
    by serge_sans_paille
  5. [Local] Zap blockaddress without users in ConstantFoldTerminator.

    If the blockaddress is not destoryed, the destination block will still
    be marked as having its address taken, limiting further transformations.

    I think there are other places where the dead blockaddress constants are kept
    around, I'll look into that as follow up.

    Reviewers: craig.topper, brzycki, davide

    Reviewed By: brzycki, davide

    Differential Revision: https://reviews.llvm.org/D64936 (detail/ViewSVN)
    by fhahn
  6. Fix asan infinite loop on undefined symbol

    Fix llvm#39641

    Recommit of r366413

    Differential Revision: https://reviews.llvm.org/D63877 (detail/ViewSVN)
    by serge_sans_paille
  7. [c++20] P1161R3: a[b,c] is deprecated. (detail/ViewSVN)
    by rsmith
  8. Mark P1301R4 in C++2a as being SVN instead. (detail/ViewSVN)
    by aaronballman
  9. We support P1301R4 in C++2a as of r366626. (detail/ViewSVN)
    by aaronballman
  10. [cxx_status] Update status page for WG21 Cologne meeting motions.

    Note that many of the paper links will be dead until the post-meeting
    mailing is released. (detail/ViewSVN)
    by rsmith
  11. Implement P1301R4, which allows specifying an optional message on the [[nodiscard]] attribute.

    This also bumps the attribute feature test value and introduces the notion of a C++2a extension warning. (detail/ViewSVN)
    by aaronballman

Started by upstream project clang-stage2-Rthinlto_relay build number 1881
originally caused by:

This run spent:

  • 18 min waiting;
  • 5 hr 22 min build duration;
  • 5 hr 40 min total from scheduled to completion.
LLVM/Clang Warnings: 1 warning.
    Test Result (no failures)