Started 8 mo 0 days ago
Took 17 min on green-dragon-15

Failed Build #303 (Feb 18, 2019 10:21:07 PM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 354306
  • http://llvm.org/svn/llvm-project/cfe/trunk : 354296
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 354290
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 346271
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 354212
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 354272
Changes
  1. [Dominators] Fix and optimize edge insertion of depth-based search

    Summary:
    After (x,y) is inserted, depth-based search finds all affected v that satisfies:

    depth(nca(x,y))+1 < depth(v) && there exists a path P from y to v where every w on P satisfies depth(v) <= depth(w)

    This reduces to a widest path problem (maximizing the depth of the
    minimum vertex in the path) which can be solved by a modified version of
    Dijkstra with a bucket queue (named depth-based search in the paper).

    The algorithm visits vertices in decreasing order of bucket number.
    However, the current code misused priority_queue to extract them in
    increasing order. I cannot think of a failing scenario but it surely may
    process vertices more than once due to the local usage of Processed.

    This patch fixes this bug and simplifies/optimizes the code a bit. Also
    add more comments.

    Reviewers: kuhar

    Reviewed By: kuhar

    Subscribers: kristina, jdoerfert, llvm-commits, NutshellySima, brzycki

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D58349 (detail/ViewSVN)
    by maskray
  2. [X86] Remove command line strings from the ProcIntel* features.

    These should always follow the CPU string. There's no reason to control them independently. (detail/ViewSVN)
    by ctopper
  3. [GlobalISel][AArch64] Legalize + select some llvm.ctlz.* intrinsics

    Legalize/select llvm.ctlz.*

    Add select-ctlz to show that we actually select them. Update arm64-clrsb.ll and
    arm64-vclz.ll to show that we perform valid transformations in optimized builds,
    and document where GISel can improve.

    Differential Revision: https://reviews.llvm.org/D58155 (detail/ViewSVN)
    by paquette
  4. [CGP] form usub with overflow from sub+icmp

    The motivating x86 cases for forming the intrinsic are shown in PR31754 and PR40487:
    https://bugs.llvm.org/show_bug.cgi?id=31754
    https://bugs.llvm.org/show_bug.cgi?id=40487
    ..and those are shown in the IR test file and x86 codegen file.

    Matching the usubo pattern is harder than uaddo because we have 2 independent values rather than a def-use.

    This adds a TLI hook that should preserve the existing behavior for uaddo formation, but disables usubo
    formation by default. Only x86 overrides that setting for now although other targets will likely benefit
    by forming usbuo too.

    Differential Revision: https://reviews.llvm.org/D57789 (detail/ViewSVN)
    by spatel
  5. [clang][test] Fix FileManagerTest.getFileDontOpenRealPath for Windows (detail/ViewSVN)
    by Jan Korous
  6. AMDGPU: Use MachineInstr::mayAlias to replace areMemAccessesTriviallyDisjoint in LoadStoreOptimizer pass.

    Summary:
      This is to fix a memory dependence bug in LoadStoreOptimizer.

    Reviewers:
      arsenm, rampitec

    Differential Revision:
      https://reviews.llvm.org/D58295 (detail/ViewSVN)
    by chfang
  7. GlobalISel: Implement widenScalar for g_extract scalar results (detail/ViewSVN)
    by arsenm
  8. GlobalISel: Make buildExtract use DstOp/SrcOp (detail/ViewSVN)
    by arsenm
  9. Reland "[clang][FileManager] fillRealPathName even if we aren't opening the file"

    This reverts commit e2bb3121fd4ab5b01f9ec1d2e3e9877db9c6a54c.
    + fixed test for Windows (detail/ViewSVN)
    by Jan Korous
  10. [LSan][Darwin][NFC] Add comment explaining test failure (detail/ViewSVN)
    by yln
  11. [Sanitizer] On Darwin `__sanitizer_print_stack_trace` only prints topmost frame

    In compiler-rt we have the notion of a `fast` and a `slow` stack
    unwinder. Darwin currently only supports the fast unwinder.

    From reading the code, my understanding is that
    `BufferedStackTrace::Unwind` can be called with `bp=0, stack_top=0,
    stack_bottom=0, request_fast_unwind=false`. If
    `request_fast_unwind=true`, then we alos need to supply bp, stack_top,
    and stack_bottom.

    However, `BufferedStackTrace::Unwind` uses
    `StackTrace::WillUseFastUnwind` which will adapt `request_fast_unwind`
    if the requested unwinder is not supported. On Darwin, the result is
    that we don't pass actual values for bp, stack_top, and stack_bottom,
    but end up using the fast unwinder. The tests then fail because we only
    print the topmost stack frame.

    This patch adds a check to `WillUseFastUnwind` at the point of usage to
    avoid the mismatch between `request_fast_unwind` and what `Unwind`
    actually does. I am also interested in cleaning up the
    `request_fast_unwind` machinery so this patch just the simplest thing
    possible so I can enable the tests.

    Reviewers: vitalybuka, vsk

    Differential Revision: https://reviews.llvm.org/D58156 (detail/ViewSVN)
    by yln
  12. GlobalISel: Fix double count of offset for irregular vector breakdowns

    Fixes cases with odd vectors that break into multiple requested size
    pieces. (detail/ViewSVN)
    by arsenm
  13. [x86] split more v8f32/v8i32 shuffles in lowering

    Similar to D57867 - this is a small patch with lots of test diffs.
    With half-vector-width narrowing potential, using an extract + 128-bit vshufps
    is a win because it replaces a 256-bit shuffle with a 128-bit shufle.

    This seems like it should be a win even for targets with 'fast-variable-shuffle',
    but we are intentionally deferring that to an independent change to make sure
    that is true.

    Differential Revision: https://reviews.llvm.org/D58181 (detail/ViewSVN)
    by spatel
  14. Revert "[InstCombine] reduce even more unsigned saturated add with 'not' op"

    This reverts commit 079b610c29b4a428b3ae7b64dbac0378facf6632.
    Bots are failing after this change on a stage 2 compile of clang. (detail/ViewSVN)
    by spatel
  15. [InstCombine] reduce even more unsigned saturated add with 'not' op

    We want to use the sum in the icmp to allow matching with
    m_UAddWithOverflow and eliminate the 'not'. This is discussed
    in D51929 and is another step towards solving PR14613:
    https://bugs.llvm.org/show_bug.cgi?id=14613

      Name: uaddsat, -1 fval
      %notx = xor i32 %x, -1
      %a = add i32 %x, %y
      %c = icmp ugt i32 %notx, %y
      %r = select i1 %c, i32 %a, i32 -1
      =>
      %a = add i32 %x, %y
      %c2 = icmp ugt i32 %y, %a
      %r = select i1 %c2, i32 -1, i32 %a

      Name: uaddsat, -1 fval + ult
      %notx = xor i32 %x, -1
      %a = add i32 %x, %y
      %c = icmp ult i32 %y, %notx
      %r = select i1 %c, i32 %a, i32 -1
      =>
      %a = add i32 %x, %y
      %c2 = icmp ugt i32 %y, %a
      %r = select i1 %c2, i32 -1, i32 %a

    https://rise4fun.com/Alive/nTp (detail/ViewSVN)
    by spatel
  16. [clangd] Add tests for template specializations

    Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D58190 (detail/ViewSVN)
    by kadircet
  17. [MCA] Correctly update register definitions in the PRF after move elimination.

    This patch fixes a bug where register writes performed by optimizable register
    moves were sometimes wrongly treated like partial register updates.  Before this
    patch, llvm-mca wrongly predicted a 1.50 IPC for test reg-move-elimination-6.s
    (added by this patch).  With this patch, llvm-mca correctly updates the register
    defintions in the PRF, and the IPC for that test is now correctly reported as 2. (detail/ViewSVN)
    by adibiagio
  18. [llvm-readobj] - Simplify .gnu.version_d dumping.

    This is similar to D58048.

    Instead of scanning the dynamic table to read the
    DT_VERDEFNUM, we could take it from the sh_info field.
    (https://docs.oracle.com/cd/E19683-01/816-1386/chapter6-94076/index.html)

    The patch does this. (detail/ViewSVN)
    by grimar
  19. [clangd] Cache include fixes for diagnostics caused by the same unresolved name or incomplete type.

    Summary:
    Multiple diagnostics can be caused by the same unresolved name or incomplete type,
    especially if the code is copy-pasted without #includes. The cache can avoid making
    repetitive index requests, and thus reduce latency and allow more diagnostics to be
    fixed (we limit the number of index requests for each parse).

    Reviewers: sammccall

    Reviewed By: sammccall

    Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, jdoerfert, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D58239 (detail/ViewSVN)
    by ioeric
  20. [ASTImporter] Find previous friend function template

    Reviewers: a_sidorin, shafik, a.sidorin

    Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D57910 (detail/ViewSVN)
    by martong
  21. [clang-tidy] Fix links in docs. (detail/ViewSVN)
    by alexfh
  22. [ARM] Add pre-defined macros for ROPI and RWPI

    This adds ACLE-defined macros to test for code being compiled in the ROPI and
    RWPI position-independence modes.

    Differential revision: https://reviews.llvm.org/D23610 (detail/ViewSVN)
    by olista01
  23. [NFC] Make Optional<T> trivially copyable when T is trivially copyable

    This is a follow-up to r354246 and a reimplementation of https://reviews.llvm.org/D57097?id=186600
    that should not trigger any UB thanks to the use of an union.

    This may still be subject to the problem solved by std::launder, but I'm unsure how it interacts whith union.
    /me plans to revert if this triggers any relevant bot failure. At least this validates in Release mode with
    clang 6.0.1 and gcc 4.8.5. (detail/ViewSVN)
    by serge_sans_paille
  24. [clang][Index] Fix usage of IndexImplicitInstantiation

    Summary:
    Indexing context was skipping explicit template instantiations as well.
    This patch makes sure it only skips implicit ones.

    Subscribers: arphaman, jdoerfert, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D58189 (detail/ViewSVN)
    by kadircet
  25. [MCA] Slightly refactor method writeStartEvent in WriteState and ReadState. NFCI

    This is another change in preparation for PR37494.
    No functional change intended. (detail/ViewSVN)
    by adibiagio
  26. [ASTImporter] Unify redecl chain tests as type parameterized tests

    Summary:
    This patch unifies all those tests which check the correctness of the
    redecl chains. Previously we had several structurally very similar test
    cases for each language construct (class, function, variable, function
    template, ...).

    We still use value-parameterized tests for the different AST
    compatibility switches (-fdelayed-template-parsing, -fms-compatibility).
    Gtest makes it possible to have either value-parameterized or
    type-parameterized fixtures. However, we cannot have both value- and
    type-parameterized test fixtures. So we use a value-parameterized test
    fixture in the gtest sense. We intend to mimic gtest's type-parameters
    via the type template parameter. We manually instantiate the different
    tests with the each types.

    After this patch I am planning to put the "generic redecl chain" related
    tests into their own separate test file (in another patch).

    Reviewers: a_sidorin, shafik, a.sidorin

    Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits

    Differential Revision: https://reviews.llvm.org/D57236 (detail/ViewSVN)
    by martong

Started by upstream project Clang Stage 2: cmake, R -g Asan&UBSan, using Stage 1 RA, Phase 1 build number 6148
originally caused by:

This run spent:

  • 5.8 sec waiting;
  • 17 min build duration;
  • 17 min total from scheduled to completion.

Identified problems

Missing test results

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

CMake Error

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