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

Failed Build #5548 (Oct 19, 2019 6:12:35 AM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 375341
  • http://llvm.org/svn/llvm-project/cfe/trunk : 375338
  • 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. [X86][SSE] LowerUINT_TO_FP_i64 - only use HADDPD for size/fast-hops

    We were always generating a single source HADDPD, but really we should only do this if shouldUseHorizontalOp says its a good idea.

    Differential Revision: https://reviews.llvm.org/D69175 (detail/ViewSVN)
    by rksimon
  2. Refine check for `_LIBCPP_C_HAS_NO_GETS` on FreeBSD

    Summary:
    In D67316 we added `_LIBCPP_C_HAS_NO_GETS` to signal that the C library
    does not provide `gets()`, and added a test for FreeBSD 13 or higher,
    using the compiler-defined `__FreeBSD__` macro.

    Unfortunately this did not work that well for FreeBSD's own CI process,
    since the gcc compilers used for some architectures define `__FreeBSD__`
    to match the build host, not the target.

    Instead, we should use the `__FreeBSD_version` macro from the userland
    header `<osreldate.h>`, which is more fine-grained.  See also
    <https://reviews.freebsd.org/D22034>.

    Reviewers: EricWF, mclow.lists, emaste, ldionne

    Reviewed By: emaste, ldionne

    Subscribers: dexonsmith, bsdjhb, krytarowski, christof, ldionne, libcxx-commits

    Differential Revision: https://reviews.llvm.org/D69174 (detail/ViewSVN)
    by dim
  3. Explicit in the doc the current list of projects (with easy copy and paste) (detail/ViewSVN)
    by sylvestre
  4. Revert "[Implicit Modules] Add -cc1 option -fmodules-strict-context-hash which includes search paths and diagnostics." and "[Docs] Fix header level."

    The test doesn't work on Windows. I'll fix it and recommit later. (detail/ViewSVN)
    by mspencer
  5. Make it clear in the doc that 'all' in LLVM_ENABLE_PROJECTS does install ALL projects (detail/ViewSVN)
    by sylvestre
  6. [analyzer] PR43551: Do not dereferce void* in UndefOrNullArgVisitor.

    Patch by Kristóf Umann!

    Differential Revision: https://reviews.llvm.org/D68591 (detail/ViewSVN)
    by dergachev
  7. [analyzer] Fix a crash on tracking Objective-C 'self' as a control dependency.

    'self' was previously never tracked, but now it can be tracked
    because it may be part of a condition. (detail/ViewSVN)
    by dergachev
  8. [Docs] Fix header level. (detail/ViewSVN)
    by mspencer
  9. Add -Wbitwise-conditional-parentheses to warn on mixing '|' and '&' with "?:"

    Extend -Wparentheses to cover mixing bitwise-and and bitwise-or with the
    conditional operator. There's two main cases seen with this:

    unsigned bits1 = 0xf0 | cond ? 0x4 : 0x1;
    unsigned bits2 = cond1 ? 0xf0 : 0x10 | cond2 ? 0x5 : 0x2;

    // Intended order of evaluation:
    unsigned bits1 = 0xf0 | (cond ? 0x4 : 0x1);
    unsigned bits2 = (cond1 ? 0xf0 : 0x10) | (cond2 ? 0x5 : 0x2);

    // Actual order of evaluation:
    unsigned bits1 = (0xf0 | cond) ? 0x4 : 0x1;
    unsigned bits2 = cond1 ? 0xf0 : ((0x10 | cond2) ? 0x5 : 0x2);

    Differential Revision: https://reviews.llvm.org/D66043 (detail/ViewSVN)
    by rtrieu
  10. Avoid including CodeView/SymbolRecord.h from MCStreamer.h

    Move the types needed out so they can be forward declared instead. (detail/ViewSVN)
    by rnk
  11. [Implicit Modules] Add -cc1 option -fmodules-strict-context-hash which includes search paths and diagnostics.

    Differential Revision: https://reviews.llvm.org/D68528 (detail/ViewSVN)
    by mspencer
  12. AMDGPU: Remove optnone from a test

    It's not clear why the test had this. I'm unable to break the original
    case with the original patch reverted with or without optnone.

    This avoids a failure in a future commit. (detail/ViewSVN)
    by arsenm
  13. Prune a LegacyDivergenceAnalysis and MachineLoopInfo include each

    Now X86ISelLowering doesn't depend on many IR analyses. (detail/ViewSVN)
    by rnk
  14. Prune Analysis includes from SelectionDAG.h

    Only forward declarations are needed here. Follow-on to r375311. (detail/ViewSVN)
    by rnk
  15. New tautological warning for bitwise-or with non-zero constant always true.

    Taking a value and the bitwise-or it with a non-zero constant will always
    result in a non-zero value. In a boolean context, this is always true.

    if (x | 0x4) {}  // always true, intended '&'

    This patch creates a new warning group -Wtautological-bitwise-compare for this
    warning. It also moves in the existing tautological bitwise comparisons into
    this group. A few other changes were needed to the CFGBuilder so that all bool
    contexts would be checked. The warnings in -Wtautological-bitwise-compare will
    be off by default due to using the CFG.

    Fixes: https://bugs.llvm.org/show_bug.cgi?id=42666
    Differential Revision: https://reviews.llvm.org/D66046 (detail/ViewSVN)
    by rtrieu
  16. [profile] Use -fPIC -shared in a test instead of -dynamiclib

    This is more portable than -dynamiclib. Also, fix the path to an input
    file that broke when the test was moved in r375315. (detail/ViewSVN)
    by Vedant Kumar
  17. Move endian constant from Host.h to SwapByteOrder.h, prune include

    Works on this dependency chain:
      ArrayRef.h ->
      Hashing.h -> --CUT--
      Host.h ->
      StringMap.h / StringRef.h

    ArrayRef is very popular, but Host.h is rarely needed. Move the
    IsBigEndianHost constant to SwapByteOrder.h. Clients of that header are
    more likely to need it. (detail/ViewSVN)
    by rnk
  18. [profile] Disable instrprof-get-filename-merge-mode.c on Windows

    The Windows bots are failing with:

    clang: warning: argument unused during compilation: '-dynamiclib' [-Wunused-command-line-argument] (detail/ViewSVN)
    by Vedant Kumar
  19. Sema: Create a no-op implicit cast for lvalue function conversions.

    This fixes an assertion failure in the case where an implicit conversion for a
    function call involves an lvalue function conversion, and makes the AST for
    initializations involving implicit lvalue function conversions more accurate.

    Differential Revision: https://reviews.llvm.org/D66437 (detail/ViewSVN)
    by pcc
  20. Prune two MachineInstr.h includes, fix up deps

    MachineInstr.h included AliasAnalysis.h, which includes a world of IR
    constructs mostly unneeded in CodeGen. Prune it. Same for
    DebugInfoMetadata.h.

    Noticed with -ftime-trace. (detail/ViewSVN)
    by rnk
  21. [clang][driver] Print compilation phases with indentation.

    Reviewers: tra, sfantao, echristo

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D69124 (detail/ViewSVN)
    by hliao
  22. [hip][cuda] Fix the extended lambda name mangling issue.

    Summary:
    - HIP/CUDA host side needs to use device kernel symbol name to match the
      device side binaries. Without a consistent naming between host- and
      device-side compilations, it's risky that wrong device binaries are
      executed. Consistent naming is usually not an issue until unnamed
      types are used, especially the lambda. In this patch, the consistent
      name mangling is addressed for the extended lambdas, i.e. the lambdas
      annotated with `__device__`.
    - In [Itanium C++ ABI][1], the mangling of the lambda is generally
      unspecified unless, in certain cases, ODR rule is required to ensure
      consisent naming cross TUs. The extended lambda is such a case as its
      name may be part of a device kernel function, e.g., the extended
      lambda is used as a template argument and etc. Thus, we need to force
      ODR for extended lambdas as they are referenced in both device- and
      host-side TUs. Furthermore, if a extended lambda is nested in other
      (extended or not) lambdas, those lambdas are required to follow ODR
      naming as well. This patch revises the current lambda mangle numbering
      to force ODR from an extended lambda to all its parent lambdas.
    - On the other side, the aforementioned ODR naming should not change
      those lambdas' original linkages, i.e., we cannot replace the original
      `internal` with `linkonce_odr`; otherwise, we may violate ODR in
      general. This patch introduces a new field `HasKnownInternalLinkage`
      in lambda data to decouple the current linkage calculation based on
      mangling number assigned.

    [1]: https://itanium-cxx-abi.github.io/cxx-abi/abi.html

    Reviewers: tra, rsmith, yaxunl, martong, shafik

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D68818 (detail/ViewSVN)
    by hliao
  23. [analyzer] Specify the C++ standard in more tests.

    Makes life easier for downstream developers with different default standard. (detail/ViewSVN)
    by dergachev
  24. P1152R4: Fix deprecation warnings in libc++ testsuite and in uses of is_invocable that would internally conjure up a deprecated function type.

    Summary: The implementation of P1152R4 in Clang has resulted in some deprecation warnings appearing in the libc++ and libc++abi test suite. Fix or suppress these warnings.

    Reviewers: mclow.lists, EricWF

    Subscribers: christof, ldionne, libcxx-commits

    Tags: #libc

    Differential Revision: https://reviews.llvm.org/D68879 (detail/ViewSVN)
    by rsmith
  25. [c++20] Add rewriting from comparison operators to <=> / ==.

    This adds support for rewriting <, >, <=, and >= to a normal or reversed
    call to operator<=>, for rewriting != to a normal or reversed call to
    operator==, and for rewriting <=> and == to reversed forms of those same
    operators.

    Note that this is a breaking change for various C++17 code patterns,
    including some in use in LLVM. The most common patterns (where an
    operator== becomes ambiguous with a reversed form of itself) are still
    accepted under this patch, as an extension (with a warning). I'm hopeful
    that we can get the language rules fixed before C++20 ships, and the
    extension warning is aimed primarily at providing data to inform that
    decision. (detail/ViewSVN)
    by rsmith
  26. [c++20] Add CXXRewrittenBinaryOperator to represent a comparison
    operator that is rewritten as a call to multiple other operators.

    No functionality change yet: nothing creates these expressions. (detail/ViewSVN)
    by rsmith
  27. DebugInfo: Render the canonical name of a class template specialization, even when nested in another class template specialization

    Differential Revision: https://reviews.llvm.org/D63031 (detail/ViewSVN)
    by dblaikie
  28. [profile] Do not cache __llvm_profile_get_filename result

    When the %m filename pattern is used, the filename is unique to each
    image, so the cached value is wrong.

    It struck me that the full filename isn't something that's recomputed
    often, so perhaps it doesn't need to be cached at all. David Li pointed
    out we can go further and just hide lprofCurFilename. This may regress
    workflows that depend on using the set-filename API to change filenames
    across all loaded DSOs, but this is expected to be very rare.

    rdar://55137071

    Differential Revision: https://reviews.llvm.org/D69137 (detail/ViewSVN)
    by Vedant Kumar
  29. LiveIntervals: Fix handleMoveUp with subreg def moving across a def

    If a subregister def was moved across another subregister def and
    another use, the main range was not correctly updated. The end point
    of the moved interval ended too early and missed the use from theh
    other lanes in the subreg def. (detail/ViewSVN)
    by arsenm
  30. gn build: Build compiler-rt code with -fvisibility=hidden.

    This matches the CMake build.

    Differential Revision: https://reviews.llvm.org/D69202 (detail/ViewSVN)
    by pcc
  31. hwasan: Add missing SANITIZER_INTERFACE_ATTRIBUTE on __hwasan_personality_wrapper.

    Differential Revision: https://reviews.llvm.org/D69201 (detail/ViewSVN)
    by pcc
  32. [AMDGPU] move PHI nodes to AGPR class

    If all uses of a PHI are in AGPR register class we should
    avoid unneeded copies via VGPRs.

    Differential Revision: https://reviews.llvm.org/D69200 (detail/ViewSVN)
    by rampitec
  33. [hwasan] Remove system allocator fallback.

    Summary:
    This has been an experiment with late malloc interposition, made
    possible by a non-standard feature of the Android dynamic loader.

    Reviewers: pcc, mmalcomson

    Subscribers: srhines, #sanitizers, llvm-commits

    Tags: #sanitizers, #llvm

    Differential Revision: https://reviews.llvm.org/D69199 (detail/ViewSVN)
    by eugenis
  34. [SampleFDO] Add profile remapping support for profile on-demand loading used
    by ExtBinary format profile

    Profile on-demand loading was added for ExtBinary format profile in rL374233,
    but currently profile on-demand loading doesn't work well with profile
    remapping. The patch adds the support.

    Suppose a function in the current module has outline instance in the profile.
    The function name in the module is different from the name of the outline
    instance, but remapper knows the two names are equal. When loading profile
    on-demand, the outline instance has to be loaded with remapper's help.

    At the same time SampleProfileReaderItaniumRemapper is changed from a proxy
    of SampleProfileReader to a helper member in SampleProfileReader.

    Differential Revision: https://reviews.llvm.org/D68901 (detail/ViewSVN)
    by wmi
  35. [AMDGPU] Remove -amdgpu-spill-sgpr-to-smem.

    Summary: The implementation was never completed and never used except in tests.

    Reviewers: arsenm, mareko

    Subscribers: qcolombet, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D69163 (detail/ViewSVN)
    by foad
  36. [CVP] setDeducedOverflowingFlags(): actually inc per-opcode stats

    This is really embarrassing. Those are pointers, so that offsets the
    pointers, not the statistics pointed-by the pointer... (detail/ViewSVN)
    by lebedevri
  37. gn build: Merge r375288 (detail/ViewSVN)
    by gnsyncbot
  38. Disable exit-on-SIGPIPE in lldb

    Occasionally, during test teardown, LLDB writes to a closed pipe.
    Sometimes the communication is inherently unreliable, so LLDB tries to
    avoid being killed due to SIGPIPE (it calls `signal(SIGPIPE, SIG_IGN)`).
    However, LLVM's default SIGPIPE behavior overrides LLDB's, causing it to
    exit with IO_ERR.

    Opt LLDB out of the default SIGPIPE behavior. I expect that this will
    resolve some LLDB test suite flakiness (tests randomly failing with
    IO_ERR) that we've seen since r344372.

    rdar://55750240

    Differential Revision: https://reviews.llvm.org/D69148 (detail/ViewSVN)
    by Vedant Kumar
  39. [X86] Fix register parsing in .seh_* in Intel syntax

    Previously, the parser checked for a '%' prefix to indicate a register.
    In Intel syntax mode, LLVM does not print a '%' prefix on registers, so
    LLVM could not parse its own assembly output. Instead, require that
    register numbers be integer literals, or at least start with an integer
    literal, which is consistent with .cfi_* directive register parsing. (detail/ViewSVN)
    by rnk
  40. [analyzer] exploded-graph-rewriter: Unforget to censor stmt_ids in the test.

    They're not stable across machines.

    Fixes buildbots after r375278. (detail/ViewSVN)
    by dergachev
  41. [NFC][CVP] Some tests for `mul` no-wrap deduction (detail/ViewSVN)
    by lebedevri
  42. Update global_symbols.txt. (detail/ViewSVN)
    by pcc
  43. [WebAssembly] Allow multivalue signatures in object files

    Summary:
    Also changes the wasm YAML format to reflect the possibility of having
    multiple return types and to put the returns after the params for
    consistency with the binary encoding.

    Reviewers: aheejin, sbc100

    Subscribers: dschuff, jgravelle-google, hiraditya, sunfish, arphaman, rupprecht, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D69156 (detail/ViewSVN)
    by tlively
  44. [analyzer] exploded-graph-rewriter: Rename Environment to Expressions.

    It's less confusing for newcomers. (detail/ViewSVN)
    by dergachev
  45. [analyzer] Fix FieldRegion dumps.

    The '->' thing has always been confusing; the actual operation '->'
    translates to a pointer dereference together with adding a FieldRegion,
    but FieldRegion on its own doesn't imply an additional pointer
    dereference. (detail/ViewSVN)
    by dergachev
  46. [analyzer] Drop the logic for collapsing the state if it's same as in preds.

    One of the first attempts to reduce the size of the exploded graph dumps
    was to skip the state dump as long as the state is the same as in all of
    the predecessor nodes. With all the new facilities in place (node joining,
    diff dumps), this feature doesn't do much, and when it does,
    it's more harmful than useful. Let's remove it. (detail/ViewSVN)
    by dergachev
  47. [analyzer] exploded-graph-rewriter: Fix dump for state 0.

    It shouldn't say "unspecified" when the state is specified to be empty. (detail/ViewSVN)
    by dergachev
  48. [analyzer] Fix hidden node traversal in exploded graph dumps.

    The joined nodes now actually have the same state. That was intended
    from the start but the original implementation turned out to be buggy.

    Differential Revision: https://reviews.llvm.org/D69150 (detail/ViewSVN)
    by dergachev
  49. [GISel][CallLowering] Make isIncomingArgumentHandler a pure virtual method

    The default implementation of isIncomingArgumentHandler could lead
    to generating incorrect code.
    Make it a pure virtual method, so that targets know they have to
    override it to produce correct code.

    NFC

    Differential Revision: https://reviews.llvm.org/D69187 (detail/ViewSVN)
    by qcolombet
  50. scudo: Update TLS_SLOT_SANITIZER value.

    Android now allocates only 8 fixed TLS slots. Somehow we were getting away
    with using a non-existent slot until now, but in some cases the TLS slots
    were being placed at the end of a page, which led to a segfault at startup.

    Differential Revision: https://reviews.llvm.org/D69191 (detail/ViewSVN)
    by pcc
  51. [CVP] After proving that @llvm.with.overflow()/@llvm.sat() don't overflow, also try to prove other no-wrap

    Summary:
    CVP, unlike InstCombine, does not run till exaustion.
    It only does a single pass.

    When dealing with those special binops, if we prove that they can
    safely be demoted into their usual binop form,
    we do set the no-wrap we deduced. But when dealing with usual binops,
    we try to deduce both no-wraps.

    So if we convert e.g. @llvm.uadd.with.overflow() to `add nuw`,
    we won't attempt to check whether it can be `add nuw nsw`.

    This patch proposes to call `processBinOp()` on newly-created binop,
    which is identical to what we do for div/rem already.

    Reviewers: nikic, spatel, reames

    Reviewed By: nikic

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D69183 (detail/ViewSVN)
    by lebedevri
  52. [examples] Fix some comments in the LLJITWithJITLink example (detail/ViewSVN)
    by Lang Hames
  53. AMDGPU: Relax 32-bit SGPR register class

    Mostly use SReg_32 instead of SReg_32_XM0 for arbitrary values. This
    will allow the register coalescer to do a better job eliminating
    copies to m0.

    For GlobalISel, as a terrible hack, use SGPR_32 for things that should
    use SCC until booleans are solved. (detail/ViewSVN)
    by arsenm
  54. [examples] Add an example of how to use JITLink and small-code-model with LLJIT.

    JITLink is LLVM's newer jit-linker. It is an alternative to (and hopefully
    eventually a replacement for) LLVM's older jit-linker, RuntimeDyld. Unlike
    RuntimeDyld which requries JIT'd code to be complied with the large code
    model, JITlink can link code compiled with the small code model, which is
    the native code model for a number of targets (including all supported MachO
    targets).

    This example shows how to:

    -- Create a JITLink InProcessMemoryManager
    -- Set the code model to small
    -- Use a JITLink backed ObjectLinkingLayer as the linking layer for LLJIT
       (rather than the default RTDyldObjectLinkingLayer).

    Note: This example will only work on platforms supported by JITLink. As of
    this commit that's MachO/x86-64 and MachO/arm64. (detail/ViewSVN)
    by Lang Hames
  55. AMDGPU: Fix SMEM WAR hazard for gfx10 readlane

    Summary: Hazard recognizer fails to see hazard with V_READLANE_B32_gfx10.

    Reviewers: rampitec

    Reviewed By: rampitec

    Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D69172 (detail/ViewSVN)
    by kerbowa
  56. [lit] Reduce value of synthesized timeouts

    Large timeout values (one year, positive infinity) trip up Python on
    Windows with "OverflowError: timeout value is too large".  One week
    seems to work and is still large enough in practice.

    Thanks to Simon Pilgrim for helping me test this.
    https://reviews.llvm.org/rL375171 (detail/ViewSVN)
    by yln

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

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

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

This run spent:

  • 15 hr waiting;
  • 18 hr build duration;
  • 1 day 9 hr total from scheduled to completion.

Identified problems

Compile Error

This build failed because of a compile error. Below is a list of all errors in the build log:
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

Ninja target failed

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

Missing test results

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