Started 1 mo 21 days ago
Took 1 hr 20 min on green-dragon-17

Success Build rL:372630 - C:372633 - #744 (Sep 23, 2019 10:45:19 AM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 372630
  • http://llvm.org/svn/llvm-project/cfe/trunk : 372633
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 372511
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 364589
  • http://llvm.org/svn/llvm-project/zorg/trunk : 372433
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 372632
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 372627
Changes
  1. [ASTImporter] Attempt to fix Windows buildbot test errors (detail/ViewSVN)
    by martong
  2. [libc++] Mark CTAD tests as not failing on AppleClang 10.0.1

    They do fail on AppleClang 10.0.0, but not AppleClang 10.0.1 (detail/ViewSVN)
    by Louis Dionne
  3. NFC: Fix a poorly-written test

    The author of r364954 foolishly forgot that == binds tighter than ?: (detail/ViewSVN)
    by epilk
  4. [InstCombine] dropRedundantMaskingOfLeftShiftInput(): pat. c/d/e with mask (PR42563)

    Summary:
    If we have a pattern `(x & (-1 >> maskNbits)) << shiftNbits`,
    we already know (have a fold) that will drop the `& (-1 >> maskNbits)`
    mask iff `(shiftNbits-maskNbits) s>= 0` (i.e. `shiftNbits u>= maskNbits`).

    So even if `(shiftNbits-maskNbits) s< 0`, we can still
    fold, we will just need to apply a **constant** mask afterwards:
    ```
    Name: c, normal+mask
      %t0 = lshr i32 -1, C1
      %t1 = and i32 %t0, %x
      %r = shl i32 %t1, C2
    =>
      %n0 = shl i32 %x, C2
      %n1 = i32 ((-(C2-C1))+32)
      %n2 = zext i32 %n1 to i64
      %n3 = lshr i64 -1, %n2
      %n4 = trunc i64 %n3 to i32
      %r = and i32 %n0, %n4
    ```
    https://rise4fun.com/Alive/gslRa

    Naturally, old `%masked` will have to be one-use.
    This is not valid for pattern f - where "masking" is done via `ashr`.

    https://bugs.llvm.org/show_bug.cgi?id=42563

    Reviewers: spatel, nikic, xbolva00

    Reviewed By: spatel

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D67725 (detail/ViewSVN)
    by lebedevri
  5. [InstCombine] dropRedundantMaskingOfLeftShiftInput(): pat. a/b with mask (PR42563)

    Summary:
    And this is **finally** the interesting part of that fold!

    If we have a pattern `(x & (~(-1 << maskNbits))) << shiftNbits`,
    we already know (have a fold) that will drop the `& (~(-1 << maskNbits))`
    mask iff `(maskNbits+shiftNbits) u>= bitwidth(x)`.
    But that is actually ignorant, there's more general fold here:

    In this pattern, `(maskNbits+shiftNbits)` actually correlates
    with the number of low bits that will remain in the final value.
    So even if `(maskNbits+shiftNbits) u< bitwidth(x)`, we can still
    fold, we will just need to apply a **constant** mask afterwards:
    ```
    Name: a, normal+mask
      %onebit = shl i32 -1, C1
      %mask = xor i32 %onebit, -1
      %masked = and i32 %mask, %x
      %r = shl i32 %masked, C2
    =>
      %n0 = shl i32 %x, C2
      %n1 = add i32 C1, C2
      %n2 = zext i32 %n1 to i64
      %n3 = shl i64 -1, %n2
      %n4 = xor i64 %n3, -1
      %n5 = trunc i64 %n4 to i32
      %r = and i32 %n0, %n5
    ```
    https://rise4fun.com/Alive/F5R

    Naturally, old `%masked` will have to be one-use.
    Similar fold exists for patterns c,d,e, will post patch later.

    https://bugs.llvm.org/show_bug.cgi?id=42563

    Reviewers: spatel, nikic, xbolva00

    Reviewed By: spatel

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D67677 (detail/ViewSVN)
    by lebedevri
  6. [BreakFalseDeps] ignore function with minsize attribute

    This came up in the x86-specific:
    https://bugs.llvm.org/show_bug.cgi?id=43239
    ...but it is a general problem for the BreakFalseDeps pass.
    Dependencies may be broken by adding some other instruction,
    so that should be avoided if the overall goal is to minimize size.

    Differential Revision: https://reviews.llvm.org/D67363 (detail/ViewSVN)
    by spatel

Started by an SCM change (7 times)

This run spent:

  • 48 min waiting;
  • 1 hr 20 min build duration;
  • 2 hr 9 min total from scheduled to completion.
LLVM/Clang Warnings: 6 warnings.
    Test Result (no failures)