Started 1 mo 2 days ago
Took 4 hr 27 min on green-dragon-02

Failed Build #14897 (Oct 16, 2019 1:20:17 PM)

  • : 375038
  • : 375031
  • : 374977
  • : 375036
  • : 374854
  • : 374982
  1. [IndVars] Fix a miscompile in off-by-default loop predication implementation

    The problem is that we can have two loop exits, 'a' and 'b', where 'a' and 'b' would exit at the same iteration, 'a' precedes 'b' along some path, and 'b' is predicated while 'a' is not. In this case (see the previously submitted test case), we causing the loop to exit through 'b' whereas it should have exited through 'a'.

    This only applies to loop exits where the exit counts are not provably inequal, but that isn't as much of a restriction as it appears. If we could order the exit counts, we'd have already removed one of the two exits. In theory, we might be able to prove inequality w/o ordering, but I didn't really explore that piece. Instead, I went for the obvious restriction and ensured we didn't predicate exits following non-predicateable exits.

    Credit goes to Evgeny Brevnov for figuring out the problematic case. Fuzzing probably also found it (failures seen), but due to some silly infrastructure problems I hadn't gotten to the results before Evgeny hand reduced it from a benchmark (he manually enabled the transform). Once this is fixed, I'll try to filter through the fuzzer failures to see if there's anything additional lurking.

    Differential Revision (detail)
    by reames
  2. This allows to use the newly added LLVMBuildFactory ability to transparently use SVN or github and switch between depending on the is_legacy_mode attribute, and adds a github support to UnifiedTreeBuilder.

    Patch by Alex Orlov.

    Differential Revision: (detail)
    by gkistanova
  3. Now LLVMBuildFactory supports both a "legacy mode" with SVN checkout and a git/github checkout.
    This provides a transparent way of dialing with the source code in all the bots which use LLVMBuildFactory directly or indirectly through UnifiedTreeBuilder.
    is_legacy_mode is True by default to keep the status quo, but later will be changed to False to migrate all the supported bots to github.

    Patch by Alex Orlov.

    Differential Revision: (detail)
    by gkistanova
  4. [AMDGPU] Do not combine dpp mov reading physregs

    We cannot be sure physregs will stay unchanged.

    Differential Revision: (detail)
    by rampitec
  5. Replace platform-dependent `stat` with `llvm::sys::fs::status`. NFC intended.

    Reviewers: bruno, sammccall

    Reviewed By: sammccall

    Subscribers: jkorous, dexonsmith, arphaman, ributzka, cfe-commits

    Differential Revision: (detail)
    by vsapsai
  6. [AMDGPU] Do not combine dpp with physreg def

    We will remove dpp mov along with the physreg def otherwise.

    Differential Revision: (detail)
    by rampitec
  7. [llvm-ar] Implement the V modifier as an alias for --version

    Summary: Also update the help modifier (h) so that it works as a modifier and not just as a standalone `h`. For example, `llvm-ar h` prints the help message, but `llvm-ar xh` currently prints `unknown option h`.

    Reviewers: MaskRay, gbreynoo

    Subscribers: llvm-commits

    Tags: #llvm

    Differential Revision: (detail)
    by rupprecht
  8. Fix darwin-ld-lto test for some speical path

    Fix the test by not assuming the prefix path of the temp directory can
    be matched by a regex.

    rdar://problem/56259195 (detail)
    by steven_wu
  9. [OPENMP]Allow priority clause in combined task-based directives.

    The expression of the priority clause must be captured in the combined
    task-based directives, like 'parallel master taskloop' directive. (detail)
    by abataev
  10. [SLP] avoid reduction transform on patterns that the backend can load-combine (2nd try)

    The 1st attempt at this modified the cost model in a bad way to avoid the vectorization,
    but that caused problems for other users (the loop vectorizer) of the cost model.

    I don't see an ideal solution to these 2 related, potentially large, perf regressions:

    We decided that load combining was unsuitable for IR because it could obscure other
    optimizations in IR. So we removed the LoadCombiner pass and deferred to the backend.
    Therefore, preventing SLP from destroying load combine opportunities requires that it
    recognizes patterns that could be combined later, but not do the optimization itself (
    it's not a vector combine anyway, so it's probably out-of-scope for SLP).

    Here, we add a cost-independent bailout with a conservative pattern match for a
    multi-instruction sequence that can probably be reduced later.

    In the x86 tests shown (and discussed in more detail in the bug reports), SDAG combining
    will produce a single instruction on these tests like:

      movbe   rax, qword ptr [rdi]


      mov     rax, qword ptr [rdi]

    Not some (half) vector monstrosity as we currently do using SLP:

      vpmovzxbq       ymm0, dword ptr [rdi + 1] # ymm0 = mem[0],zero,zero,..
      vpsllvq ymm0, ymm0, ymmword ptr [rip + .LCPI0_0]
      movzx   eax, byte ptr [rdi]
      movzx   ecx, byte ptr [rdi + 5]
      shl     rcx, 40
      movzx   edx, byte ptr [rdi + 6]
      shl     rdx, 48
      or      rdx, rcx
      movzx   ecx, byte ptr [rdi + 7]
      shl     rcx, 56
      or      rcx, rdx
      or      rcx, rax
      vextracti128    xmm1, ymm0, 1
      vpor    xmm0, xmm0, xmm1
      vpshufd xmm1, xmm0, 78          # xmm1 = xmm0[2,3,0,1]
      vpor    xmm0, xmm0, xmm1
      vmovq   rax, xmm0
      or      rax, rcx

    Differential Revision: (detail)
    by spatel
  11. [lit] Fix a test case that r374652 missed (detail)
    by jdenny
  12. Tag CFI-generated data structures with "#pragma clang section" attributes.

    Differential Revision: (detail)
    by dmikulin
  13. [NFC][XCOFF][AIX] Rename ControlSections to CsectGroup

    The name of ControlSections is not expressive enough to convey what they really are.
    CsectGroup can better communicate the concept of grouping csects together since they have similar property.

    Reviewer: daltenty

    Differential Revision: (detail)
    by jasonliu
  14. [lit] Fix internal diff's --strip-trailing-cr and use it

    Using GNU diff, `--strip-trailing-cr` removes a `\r` appearing before
    a `\n` at the end of a line.  Without this patch, lit's internal diff
    only removes `\r` if it appears as the last character.  That seems
    useless.  This patch fixes that.

    This patch also adds `--strip-trailing-cr` to some tests that fail on
    Windows bots when D68664 is applied.  Based on what I see in the bot
    logs, I think the following is happening.  In each test there, lit
    diff is comparing a file with `\r\n` line endings to a file with `\n`
    line endings.  Without D68664, lit diff reads those files in text
    mode, which in Windows causes `\r\n` to be replaced with `\n`.
    However, with D68664, lit diff reads the files in binary mode instead
    and thus reports that every line is different, just as GNU diff does
    (at least under Ubuntu).  Adding `--strip-trailing-cr` to those tests
    restores the previous behavior while permitting the behavior of lit
    diff to be more like GNU diff.

    Reviewed By: rnk

    Differential Revision: (detail)
    by jdenny
  15. CombinerHelper - silence dead assignment warnings. NFCI.

    Copy the NewAlignment value to Alignment first and then use that to update the stack frame object alignments. (detail)
    by rksimon
  16. [lit] Clean up internal diff's encoding handling

    As suggested by rnk at D67643#1673043, instead of reading files
    multiple times until an appropriate encoding is found, read them once
    as binary, and then try to decode what was read.

    For Python >= 3.5, don't fail when attempting to decode the
    `diff_bytes` output in order to print it.

    Avoid failures for Python 2.7 used on some Windows bots by
    transforming diff output with `lit.util.to_string` before writing it
    to stdout.

    Finally, add some tests for encoding handling.

    Reviewed By: rnk

    Differential Revision: (detail)
    by jdenny
  17. [OPENMP]Use different addresses for zeroed thread_id/bound_id.

    When the parallel region is called directly in the sequential region,
    the zeroed tid/bound id are used. But they must point to the different
    memory locations as the parameters are marked as noalias. (detail)
    by abataev
  18. [AMDGPU] Supress unused sdwa insts generation

    Do not generate non-existing sdwa instructions. It reduces the
    number of generated instructions by 185.

    Differential Revision: (detail)
    by rampitec
  19. [Remarks] Fix warning for ambigous `else` behind EXPECT macro (detail)
    by thegameg
  20. [Remarks] Fix unit test by only checking for the path (detail)
    by thegameg
  21. [SVE][IR] Small TypeSize improvements left out of initial commit

    The commit for D53137 left out the last round of improvements
    requested by reviewers. Adding those in now. (detail)
    by huntergr
  22. [DWARF5] Added support for DW_AT_noreturn attribute to be emitted for
    C++ class member functions.

    Patch by Sourabh Singh Tomar!

    Differential Revision: (detail)
    by Adrian Prantl
  23. [Remarks] Use StringRef::contains to avoid differences in error string

    Different OSs have different error strings: (detail)
    by thegameg
  24. [AArch64,Assembler] Compiler support for ID_MMFR5_EL1

    Summary: Add read-only system register ID_MMFR5_EL1 and unit tests.

    Subscribers: kristof.beyls, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: (detail)
    by markrvmurray

Started by timer (5 times)

This run spent:

  • 4 hr 9 min waiting;
  • 4 hr 27 min build duration;
  • 8 hr 36 min total from scheduled to completion.

Identified problems

Assertion failure

This build failed because of an assertion failure. Below is a list of all errors in the build log:
Indication 1

Compile Error

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

Regression test failed

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

Ninja target failed

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

Missing test results

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