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

Failed Build #14909 (Oct 18, 2019 7:43:21 PM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 375325
  • http://llvm.org/svn/llvm-project/cfe/trunk : 375329
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 375317
  • http://llvm.org/svn/llvm-project/zorg/trunk : 375291
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 375307
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 375316
Changes
  1. [analyzer] PR43551: Do not dereferce void* in UndefOrNullArgVisitor.

    Patch by Kristóf Umann!

    Differential Revision: https://reviews.llvm.org/D68591 (detail)
    by dergachev
  2. [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)
    by dergachev
  3. [Docs] Fix header level. (detail)
    by mspencer
  4. 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)
    by rtrieu
  5. Avoid including CodeView/SymbolRecord.h from MCStreamer.h

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

    Differential Revision: https://reviews.llvm.org/D68528 (detail)
    by mspencer
  7. 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)
    by arsenm
  8. Prune a LegacyDivergenceAnalysis and MachineLoopInfo include each

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

    Only forward declarations are needed here. Follow-on to r375311. (detail)
    by rnk
  10. 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)
    by rtrieu
  11. [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)
    by Vedant Kumar
  12. 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)
    by rnk
  13. [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)
    by Vedant Kumar
  14. 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)
    by pcc
  15. 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)
    by rnk
  16. [clang][driver] Print compilation phases with indentation.

    Reviewers: tra, sfantao, echristo

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D69124 (detail)
    by hliao
  17. [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)
    by hliao
  18. [analyzer] Specify the C++ standard in more tests.

    Makes life easier for downstream developers with different default standard. (detail)
    by dergachev
  19. 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)
    by rsmith
  20. [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)
    by rsmith
  21. [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)
    by rsmith
  22. 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)
    by dblaikie
  23. [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)
    by Vedant Kumar
  24. 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)
    by arsenm
  25. gn build: Build compiler-rt code with -fvisibility=hidden.

    This matches the CMake build.

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

    Differential Revision: https://reviews.llvm.org/D69201 (detail)
    by pcc
  27. [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)
    by rampitec
  28. [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)
    by eugenis
  29. [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)
    by wmi

Started by timer (4 times)

This run spent:

  • 3 hr 32 min waiting;
  • 4 hr 22 min build duration;
  • 7 hr 54 min total from scheduled to completion.

Identified problems

Regression test failed

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

Ninja target failed

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

Missing test results

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