Started 2 mo 18 days ago
Took 1 hr 15 min on green-dragon-22

Failed Build rL:372223 - C:372225 - #657 (Sep 18, 2019 7:13:05 AM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 372223
  • http://llvm.org/svn/llvm-project/cfe/trunk : 372225
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 372205
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 364589
  • http://llvm.org/svn/llvm-project/zorg/trunk : 371835
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 372034
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 372206
Changes
  1. Revert r372082 "[Clang] Pragma vectorize_width() implies vectorize(enable)"

    This broke the Chromium build. Consider the following code:

      float ScaleSumSamples_C(const float* src, float* dst, float scale, int width) {
        float fsum = 0.f;
        int i;
      #if defined(__clang__)
      #pragma clang loop vectorize_width(4)
      #endif
        for (i = 0; i < width; ++i) {
          float v = *src++;
          fsum += v * v;
          *dst++ = v * scale;
        }
        return fsum;
      }

    Compiling at -Oz, Clang  now warns:

      $ clang++ -target x86_64 -Oz -c /tmp/a.cc
      /tmp/a.cc:1:7: warning: loop not vectorized: the optimizer was unable to
      perform the requested transformation; the transformation might be disabled or
      specified as part of an unsupported transformation ordering
      [-Wpass-failed=transform-warning]

    this suggests it's not actually enabling vectorization hard enough.

    At -Os it asserts instead:

      $ build.release/bin/clang++ -target x86_64 -Os -c /tmp/a.cc
      clang-10: /work/llvm.monorepo/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:2734: void
      llvm::InnerLoopVectorizer::emitMemRuntimeChecks(llvm::Loop*, llvm::BasicBlock*): Assertion `
      !BB->getParent()->hasOptSize() && "Cannot emit memory checks when optimizing for size"' failed.

    Of course neither of these are what the developer expected from the pragma.

    > Specifying the vectorization width was supposed to implicitly enable
    > vectorization, except that it wasn't really doing this. It was only
    > setting the vectorize.width metadata, but not vectorize.enable.
    >
    > This should fix PR27643.
    >
    > Differential Revision: https://reviews.llvm.org/D66290 (detail/ViewSVN)
    by hans
  2. [SDA] Don't stop divergence propagation at the IPD.

    Summary:
    This fixes B42473 and B42706.

    This patch makes the SDA propagate branch divergence until the end of the RPO traversal. Before, the SyncDependenceAnalysis propagated divergence only until the IPD in rpo order. RPO is incompatible with post dominance in the presence of loops. This made the SDA crash because blocks were missed in the propagation.

    Reviewers: foad, nhaehnle

    Reviewed By: foad

    Subscribers: jvesely, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D65274 (detail/ViewSVN)
    by foad
  3. [mips] Pass "xgot" flag as a subtarget feature

    We need "xgot" flag in the MipsAsmParser to implement correct expansion
    of some pseudo instructions in case of using 32-bit GOT (XGOT).
    MipsAsmParser does not have reference to MipsSubtarget but has a
    reference to "feature bit set". (detail/ViewSVN)
    by atanasyan
  4. [mips] Mark tests for lw/sw expansion in PIC by a separate "check prefix". NFC

    That simplify adding XGOT tests later. (detail/ViewSVN)
    by atanasyan
  5. [mips] Reduce code duplication in the `loadAndAddSymbolAddress`. NFC (detail/ViewSVN)
    by atanasyan

Started by an SCM change (3 times)

This run spent:

  • 1 hr 46 min waiting;
  • 1 hr 15 min build duration;
  • 3 hr 1 min total from scheduled to completion.
LLVM/Clang Warnings: 2 warnings.

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

Missing test results

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

Regression test failed

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

Ninja target failed

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