Started 21 days ago
Took 4 hr 40 min on green-dragon-02

Failed Build #14924 (Oct 21, 2019 4:22:39 AM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 375408
  • http://llvm.org/svn/llvm-project/cfe/trunk : 375362
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 375317
  • http://llvm.org/svn/llvm-project/zorg/trunk : 375353
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 375340
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 375316
Changes
  1. [llvm/Object] - Make ELFObjectFile::getRelocatedSection return Expected<section_iterator>

    It returns just a section_iterator currently and have a report_fatal_error call inside.
    This change adds a way to return errors and handle them on caller sides.

    The patch also changes/improves current users and adds test cases.

    Differential revision: https://reviews.llvm.org/D69167 (detail)
    by grimar
  2. [Alignment][NFC] TargetCallingConv::setOrigAlign and TargetLowering::getABIAlignmentForCallingConv

    Summary:
    This is patch is part of a series to introduce an Alignment type.
    See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
    See this patch for the introduction of the type: https://reviews.llvm.org/D64790

    Reviewers: courbet

    Subscribers: sdardis, hiraditya, jrtc27, atanasyan, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D69243 (detail)
    by gchatelet
  3. Fix llvm signal tests build. (detail)
    by David CARLIER
  4. [obj2yaml] - Fix a comment. NFC.

    I forgot to address this nit before committing.. (detail)
    by grimar
  5. [obj2yaml] - Stop triggering UB when dumping corrupted strings.

    We have a following code to find quote type:

    if (isspace(S.front()) || isspace(S.back()))
    ...

    Problem is that:

    "int isspace( int ch ): The behavior is undefined if the value of
    ch is not representable as unsigned char and is not equal to EOF."
    (https://en.cppreference.com/w/cpp/string/byte/isspace)

    This patch shows how this UB can be triggered and fixes an issue.

    Differential revision: https://reviews.llvm.org/D69160 (detail)
    by grimar
  6. [MemCpyOpt] Fixing Incorrect Code Motion while Handling Aggregate Type Values

    Summary:
    When MemCpyOpt is handling aggregate type values, if an instruction (let's call it P) between the targeting load (L) and store (S) clobbers the source pointer of L, it will try to hoist S before P. This process will also hoist S's data dependency instructions.

    However, the current implementation has a bug that if one of S's dependency instructions is //also// a user of P, MemCpyOpt will not prevent it from being hoisted above P and cause a use-before-define error. For example, in the newly added test file (i.e. `aggregate-type-crash.ll`), it will try to hoist both `store %my_struct %1, %my_struct* %3` and its dependent, `%3 = bitcast i8* %2 to %my_struct*`, above `%2 = call i8* @my_malloc(%my_struct* %0)`. Creating the following BB:
    ```
    entry:
      %1 = bitcast i8* %4 to %my_struct*
      %2 = bitcast %my_struct* %1 to i8*
      %3 = bitcast %my_struct* %0 to i8*
      call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %2, i8* align 4 %3, i64 8, i1 false)
      %4 = call i8* @my_malloc(%my_struct* %0)
      ret void
    ```
    Where there is a use-before-define error between `%1` and `%4`.

    Update: The compiler for the Pony Programming Language [also encounter the same bug](https://github.com/ponylang/ponyc/issues/3140)

    Patch by Min-Yih Hsu (myhsu)

    Reviewers: eugenis, pcc, dblaikie, dneilson, t.p.northover, lattner

    Reviewed By: eugenis

    Subscribers: lenary, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D66060 (detail)
    by lenary
  7. [ARM] Lower sadd_sat to qadd8 and qadd16

    Lower the target independent signed saturating intrinsics to qadd8 and qadd16.
    This custom lowers them from a sadd_sat, catching the node early before it is
    promoted. It also adds a QADD8b and QADD16b node to mean the bottom "lane" of a
    qadd8/qadd16, so that we can call demand bits on it to show that it does not
    use the upper bits.

    Also handles QSUB8 and QSUB16.

    Differential Revision: https://reviews.llvm.org/D68974 (detail)
    by dmgreen
  8. [ARM] Add and adjust saturation tests for upcoming qadd changes. NFC (detail)
    by dmgreen
  9. Use Align for TFL::TransientStackAlignment

    Summary:
    This is patch is part of a series to introduce an Alignment type.
    See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
    See this patch for the introduction of the type: https://reviews.llvm.org/D64790

    Reviewers: courbet

    Subscribers: arsenm, dschuff, jyknight, sdardis, jvesely, nhaehnle, sbc100, jgravelle-google, hiraditya, aheejin, fedor.sergeev, jrtc27, atanasyan, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D69216 (detail)
    by gchatelet
  10. [NFC][InstCombine] Fixup comments

    As noted in post-commit review of rL375378375378. (detail)
    by lebedevri
  11. [CVP] Deduce no-wrap on `mul`

    Summary:
    `ConstantRange::makeGuaranteedNoWrapRegion()` knows how to deal with `mul`
    since rL335646, there is exhaustive test coverage.
    This is already used by CVP's `processOverflowIntrinsic()`,
    and by SCEV's `StrengthenNoWrapFlags()`

    That being said, currently, this doesn't help much in the end:
    | statistic                              |     old |     new | delta | percentage |
    | correlated-value-propagation.NumMulNSW |       4 |     275 |   271 |   6775.00% |
    | correlated-value-propagation.NumMulNUW |       4 |    1323 |  1319 |  32975.00% |
    | correlated-value-propagation.NumMulNW  |       8 |    1598 |  1590 |  19875.00% |
    | correlated-value-propagation.NumNSW    |    5715 |    5986 |   271 |      4.74% |
    | correlated-value-propagation.NumNUW    |    9193 |   10512 |  1319 |     14.35% |
    | correlated-value-propagation.NumNW     |   14908 |   16498 |  1590 |     10.67% |
    | instcount.NumAddInst                   |  275871 |  275869 |    -2 |      0.00% |
    | instcount.NumBrInst                    |  708234 |  708232 |    -2 |      0.00% |
    | instcount.NumMulInst                   |   43812 |   43810 |    -2 |      0.00% |
    | instcount.NumPHIInst                   |  316786 |  316784 |    -2 |      0.00% |
    | instcount.NumTruncInst                 |   62165 |   62167 |     2 |      0.00% |
    | instcount.NumUDivInst                  |    2528 |    2526 |    -2 |     -0.08% |
    | instcount.TotalBlocks                  |  842995 |  842993 |    -2 |      0.00% |
    | instcount.TotalInsts                   | 7376486 | 7376478 |    -8 |      0.00% |
    (^ test-suite plain, tests still pass)

    Reviewers: nikic, reames, luqmana, sanjoy, timshen

    Reviewed By: reames

    Subscribers: hiraditya, javed.absar, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D69203 (detail)
    by lebedevri
  12. [InstCombine] Allow values with multiple users in SimplifyDemandedVectorElts

    Summary:
    Allow for ignoring the check for a single use in SimplifyDemandedVectorElts
    to be able to simplify operands if DemandedElts is known to contain
    the union of elements used by all users.
    It is a responsibility of a caller of SimplifyDemandedVectorElts to
    supply correct DemandedElts.

    Simplify a series of extractelement instructions if only a subset of
    elements is used.

    Reviewers: reames, arsenm, majnemer, nhaehnle

    Reviewed By: nhaehnle

    Subscribers: wdng, jvesely, nhaehnle, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D67345 (detail)
    by Piotr Sobczak
  13. gn build: Merge r375390 (detail)
    by gnsyncbot
  14. [LLDB] [Windows] Initial support for ARM register contexts

    Differential Revision: https://reviews.llvm.org/D69226 (detail)
    by mstorsjo

Started by timer (5 times)

This run spent:

  • 4 hr 11 min waiting;
  • 4 hr 40 min build duration;
  • 8 hr 51 min total from scheduled to completion.

Identified problems

Ninja target failed

Below is a link to the first failed ninja target.
Indication 1

Regression test failed

This build failed because a regression test in the test suite FAILed. See the test report for details.
Indication 2

Missing test results

The test result file Jenkins is looking for does not exist after the build.
Indication 3