Started 23 days ago
Took 18 hr on green-dragon-09

Failed Build #5552 (Oct 21, 2019 9:28:59 AM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 375420
  • 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/debuginfo-tests/trunk : 364589
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 375340
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 375316
Changes
  1. [NFC] Cleanup with variable name IsPPC64 & IsDarwin

    Clean up PPCAsmPrinter with IsPPC64 and IsDarwin.

    Differential Revision: https://reviews.llvm.org/D69259 (detail/ViewSVN)
    by xiangling_liao
  2. [Alignment][NFC] Finish transition for `Loads`

    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: hiraditya, asbirlea, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D69253 (detail/ViewSVN)
    by gchatelet
  3. Pre-commit test cases for D64713. (detail/ViewSVN)
    by foad
  4. [Types] Define a getWithNewBitWidth for Types and make use of it

    This is designed to change the bitwidth of a type without altering the number
    of vector lanes. Also useful in D68651. Otherwise an NFC.

    Differential Revision: https://reviews.llvm.org/D69139 (detail/ViewSVN)
    by dmgreen
  5. [Alignment][NFC] Instructions::getLoadStoreAlignment

    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

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D69256 (detail/ViewSVN)
    by gchatelet
  6. [ARM] Extra qdadd patterns

    This adds some new qdadd patterns to go along with the other recently added
    qadd's.

    Differential Revision: https://reviews.llvm.org/D68999 (detail/ViewSVN)
    by dmgreen
  7. [Alignment][NFC] Add a helper function to DataLayout

    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: llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D69258 (detail/ViewSVN)
    by gchatelet
  8. [docs][llvm-ar] Update llvm-ar command guide

    The llvm-ar command guide had not been updated in some time, it was
    missing current functionality and contained information that was out
    of date. This change:
    - Updates the use of reStructuredText directives, as seen in other tools
      command guides.
    - Updates the command synopsis.
    - Updates the descriptions of the tool behaviour.
    - Updates the options section.
    - Adds details of MRI script functionality.
    - Removes the sections "Standards" and "File Format"

    Differential Revision: https://reviews.llvm.org/D68998 (detail/ViewSVN)
    by gbreynoo
  9. [ARM] Add qadd lowering from a sadd_sat

    This lowers a sadd_sat to a qadd by treating it as legal. Also adds qsub at the
    same time.

    The qadd instruction sets the q flag, but we already have many cases where we
    do not model this in llvm.

    Differential Revision: https://reviews.llvm.org/D68976 (detail/ViewSVN)
    by dmgreen
  10. [Alignment][NFC] TargetCallingConv::setByValAlign

    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: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D69248 (detail/ViewSVN)
    by gchatelet
  11. Simplify usage of setFPAttrs.

    In some cases using the return value of setFPAttrs simplifies the code.
    In other cases it complicates the code with ugly casts, so stop doing
    it. NFC. (detail/ViewSVN)
    by foad
  12. [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/ViewSVN)
    by grimar
  13. [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/ViewSVN)
    by gchatelet
  14. Fix llvm signal tests build. (detail/ViewSVN)
    by David CARLIER
  15. [obj2yaml] - Fix a comment. NFC.

    I forgot to address this nit before committing.. (detail/ViewSVN)
    by grimar
  16. [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/ViewSVN)
    by grimar
  17. [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/ViewSVN)
    by lenary
  18. [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/ViewSVN)
    by dmgreen
  19. [ARM] Add and adjust saturation tests for upcoming qadd changes. NFC (detail/ViewSVN)
    by dmgreen
  20. 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/ViewSVN)
    by gchatelet
  21. [NFC][InstCombine] Fixup comments

    As noted in post-commit review of rL375378375378. (detail/ViewSVN)
    by lebedevri
  22. [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/ViewSVN)
    by lebedevri
  23. [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/ViewSVN)
    by Piotr Sobczak
  24. gn build: Merge r375390 (detail/ViewSVN)
    by gnsyncbot
  25. [LLDB] [Windows] Initial support for ARM register contexts

    Differential Revision: https://reviews.llvm.org/D69226 (detail/ViewSVN)
    by mstorsjo
  26. [IR] Fix mayReadFromMemory() for writeonly calls

    Current implementation of Instruction::mayReadFromMemory()
    returns !doesNotAccessMemory() which is !ReadNone. This
    does not take into account that the writeonly attribute
    also indicates that the call does not read from memory.

    The patch changes the predicate to !doesNotReadMemory()
    that reflects the intended behavior.

    Differential Revision: https://reviews.llvm.org/D69086 (detail/ViewSVN)
    by yrouban
  27. [BPF] fix indirect call assembly code

    Currently, for indirect call, the assembly code printed out as
      callx <imm>
    This is not right, it should be
      callx <reg>

    Fixed the issue with proper format.

    Differential Revision: https://reviews.llvm.org/D69229 (detail/ViewSVN)
    by yhs
  28. [Attributor][FIX] Silence sign-compare warning (detail/ViewSVN)
    by jdoerfert
  29. [Attributor] Teach AANoCapture to use information in-flight more aggressively

    AAReturnedValues, AAMemoryBehavior, and AANoUnwind, can provide
    information that helps during the tracking or even justifies no-capture.
    We now use this information and enable no-capture in some test cases
    designed a long while a ago for these cases. (detail/ViewSVN)
    by jdoerfert
  30. [X86] Check Subtarget.hasSSE3() before calling shouldUseHorizontalOp and emitting X86ISD::FHADD in LowerUINT_TO_FP_i64.

    This was a regression from r375341.

    Fixes PR43729. (detail/ViewSVN)
    by ctopper
  31. [IndVars] Add a todo to reflect a further oppurtunity identified in D69009

    Nikita pointed out an oppurtunity, might as well document it in the code. (detail/ViewSVN)
    by reames
  32. [IndVars] Eliminate loop exits with equivalent exit counts

    We can end up with two loop exits whose exit counts are equivalent, but whose textual representation is different and non-obvious. For the sub-case where we have a series of exits which dominate one another (common), eliminate any exits which would iterate *after* a previous exit on the exiting iteration.

    As noted in the TODO being removed, I'd always thought this was a good idea, but I've now seen this in a real workload as well.

    Interestingly, in review, Nikita pointed out there's let another oppurtunity to leverage SCEV's reasoning.  If we kept track of the min of dominanting exits so far, we could discharge exits with EC >= MDE.  This is less powerful than the existing transform (since later exits aren't considered), but potentially more powerful for any case where SCEV can prove a >= b, but neither a == b or a > b.  I don't have an example to illustrate that oppurtunity, but won't be suprised if we find one and return to handle that case as well. 

    Differential Revision: https://reviews.llvm.org/D69009 (detail/ViewSVN)
    by reames

Started by upstream project Clang Stage 2: cmake, R -g Tsan, using Stage 1 RA build number 18575
originally caused by:

Started by upstream project Clang Stage 2: cmake, R -g Tsan, using Stage 1 RA build number 18576
originally caused by:

Started by upstream project Clang Stage 2: cmake, R -g Tsan, using Stage 1 RA build number 18577
originally caused by:

Started by upstream project Clang Stage 2: cmake, R -g Tsan, using Stage 1 RA build number 18578
originally caused by:

Started by upstream project Clang Stage 2: cmake, R -g Tsan, using Stage 1 RA build number 18579
originally caused by:

Started by upstream project Clang Stage 2: cmake, R -g Tsan, using Stage 1 RA build number 18580
originally caused by:

Started by upstream project Clang Stage 2: cmake, R -g Tsan, using Stage 1 RA build number 18581
originally caused by:

Started by upstream project Clang Stage 2: cmake, R -g Tsan, using Stage 1 RA build number 18582
originally caused by:

Started by upstream project Clang Stage 2: cmake, R -g Tsan, using Stage 1 RA build number 18583
originally caused by:

This run spent:

  • 16 hr waiting;
  • 18 hr build duration;
  • 1 day 11 hr 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

Compile Error

This build failed because of a compile error. Below is a list of all errors in the build log:
Indication 4