Started 6 days 12 hr ago
Took 5 hr 14 min on green-dragon-02

Failed Build #14685 (Sep 12, 2019 3:32:37 PM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 371783
  • http://llvm.org/svn/llvm-project/cfe/trunk : 371781
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 371758
  • http://llvm.org/svn/llvm-project/zorg/trunk : 371690
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 371763
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 371773
Changes
  1. [NFC] Fix file header filename to be Range.h (detail)
    by gclayton
  2. [Docs] Adds page for reference docs

    Adds a Reference Documentation page for LLVM and API reference documentation. (detail)
    by dr87
  3. [analyzer] Fix the 'analyzer-enabled-checkers.c' test on non-linux machines.

    '-Xclang -triple' doesn't seem to override the default target triple
    as reliably as '--target'. This leads to test failing due to
    platform-specific checks getting unexpectedly enabled. (detail)
    by dergachev
  4. [AArch64][GlobalISel] Support sibling calls with outgoing arguments

    This adds support for lowering sibling calls with outgoing arguments.

    e.g

    ```
    define void @foo(i32 %a)
    ```

    Support is ported from AArch64ISelLowering's `isEligibleForTailCallOptimization`.
    The only thing that is missing is a full port of
    `TargetLowering::parametersInCSRMatch`. So, if we're using swiftself,
    we'll never tail call.

    - Rename `analyzeCallResult` to `analyzeArgInfo`, since the function is now used
      for both outgoing and incoming arguments
    - Teach `OutgoingArgHandler` about tail calls. Tail calls use frame indices for
      stack arguments.
    - Teach `lowerFormalArguments` to set the bytes in the caller's stack argument
      area. This is used later to check if the tail call's parameters will fit on
      the caller's stack.
    - Add `areCalleeOutgoingArgsTailCallable` to perform the eligibility check on
      the callee's outgoing arguments.

    For testing:

    - Update call-translator-tail-call to verify that we can now tail call with
      outgoing arguments, use G_FRAME_INDEX for stack arguments, and respect the
      size of the caller's stack
    - Remove GISel-specific check lines from speculation-hardening.ll, since GISel
      now tail calls like the other selectors
    - Add a GISel test line to tailcall-string-rvo.ll since we can tail call in that
      test now
    - Add a GISel test line to tailcall_misched_graph.ll since we tail call there
      now. Add specific check lines for GISel, since the debug output from the
      machine-scheduler differs with GlobalISel. The dependency still holds, but
      the output comes out in a different order.

    Differential Revision: https://reviews.llvm.org/D67471 (detail)
    by paquette
  5. [PowerPC] Remove the SPE4RC register class and instead add f32 to the GPRC register class.

    Summary:
    Since the SPE4RC register class contains an identical set of registers
    and an identical spill size to the GPRC class its slightly confusing
    the tablegen emitter. It's preventing the GPRC_and_GPRC_NOR0 synthesized
    register class from inheriting VTs and AltOrders from GPRC or GPRC_NOR0.
    This is because SPE4C is found first in the super register class list
    when inheriting these properties and it doesn't set the VTs or
    AltOrders the same way as GPRC or GPRC_NOR0.

    This patch replaces all uses of GPE4RC with GPRC and allows GPRC and
    GPRC_NOR0 to contain f32.

    The test changes here are because the AltOrders are being inherited
    to GPRC_NOR0 now.

    Found while trying to determine if getCommonSubClass needs to take
    a VT argument. It was originally added to support fp128 on x86-64,
    I've changed some things about that so that it might be needed
    anymore. But a PowerPC test crashed without it and I think its
    due to this subclass issue.

    Reviewers: jhibbits, nemanjai, kbarton, hfinkel

    Subscribers: wuzish, nemanjai, mehdi_amini, hiraditya, kbarton, MaskRay, dexonsmith, jsji, shchenz, steven.zhang, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D67513 (detail)
    by ctopper
  6. Remove a duplicate test

    Turns out I'd already added exactly the same test under the name non_unit_stride. (detail)
    by reames
  7. [SCEV] Add smin support to getRangeRef

    We were failing to compute trip counts (both exact and maximum) for any loop which involved a comparison against either an umin or smin. It looks like this simply got missed when we added smin/umin to SCEV.  (Note: umin was submitted separately earlier today.  Turned out two folks hit this at the same time.)

    Differential Revision: https://reviews.llvm.org/D67514 (detail)
    by reames
  8. [DAGCombiner][X86] Pass the CmpOpVT to reduceSelectOfFPConstantLoads so X86 can exclude fp128 compares.

    The X86 decision assumes the compare will produce a result in an XMM
    register, but that can't happen for an fp128 compare since those
    go to a libcall the returns an i32. Pass the VT so X86 can check
    the type. (detail)
    by ctopper
  9. [ConstantFolding] Expand folding of some library functions

    Expanding the folding of `nearbyint()`, `rint()` and `trunc()` to library
    functions, in addition to the current support for intrinsics.

    Differential revision: https://reviews.llvm.org/D67468 (detail)
    by evandro
  10. [ClangTidy] Adjust the name getCheckName to getCheckerName due to API change. (detail)
    by timshen
  11. Fix llvm-reduce tests so that they don't assume the source code is
    writable.

    Instead of copying over the original file permissions, just create
    a new file and add the executable bit. (detail)
    by timshen
  12. [SelectionDAGBuilder] Simplify loop in visitSelect back to how it was before r255558.

    This code was changed to accomodate fp128 being softened to itself
    during type legalization on x86-64. This was done in order to create
    libcalls while having fp128 as a legal type. We're now doing the
    libcall creation during LegalizeDAG and the type legalization changes
    to enable the old behavior have been removed. So this change to
    SelectionDAGBuilder is no longer needed. (detail)
    by ctopper
  13. [X86] Move negateFMAOpcode helper earlier to help future patch. NFCI. (detail)
    by rksimon
  14. [LV] Update test case after r371768. (detail)
    by fhahn
  15. [SCEV] Support SCEVUMinExpr in getRangeRef.

    This patch adds support for SCEVUMinExpr to getRangeRef,
    similar to the support for SCEVUMaxExpr.

    Reviewers: sanjoy.google, efriedma, reames, nikic

    Reviewed By: sanjoy.google

    Differential Revision: https://reviews.llvm.org/D67177 (detail)
    by fhahn
  16. Improve code generation for thread_local variables:

    Summary:
    * Don't bother using a thread wrapper when the variable is known to
       have constant initialization.
    * Emit the thread wrapper as discardable-if-unused in TUs that don't
       contain a definition of the thread_local variable.
    * Don't emit the thread wrapper at all if the thread_local variable
       is unused and discardable; it will be emitted by all TUs that need
       it.

    Reviewers: rjmccall, jdoerfert

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D67429 (detail)
    by rsmith
  17. [Clang][CodeGen] support alias attribute w/ gnu_inline

    Summary:
    r369705 did not consider the addition of gnu_inline on function
    declarations of alias attributed functions. This resulted in a reported
    regression in the clang-9-rc4 release from the Zig developers building
    glibc, which was observable as a failed assertion:

    llvm-project/clang/lib/AST/Decl.cpp:3336: bool
    clang::FunctionDecl::isInlineDefinitionExternallyVisible() const:
    Assertion `(doesThisDeclarationHaveABody() || willHaveBody()) && "Must
    be a function definition"' failed.

    Alias function declarations do not have bodies, so allow us to proceed
    if we have the alias function attribute but no body/definition, and add
    a test case.  The emitted symbols and their linkage matches GCC for the
    added test case.

    Link: https://bugs.llvm.org/show_bug.cgi?id=43268

    Reviewers: aaron.ballman, rsmith, erichkeane, andrewrk

    Reviewed By: andrewrk

    Subscribers: cfe-commits, andrewrk, hans, srhines

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D67455 (detail)
    by nickdesaulniers
  18. [CFG] Add dumps for CFGElement and CFGElementRef

    Seems like we never had these, so here we go! I also did some refactoring as I
    was chasing a bug unrelated to this revision.

    Differential Revision: https://reviews.llvm.org/D66715 (detail)
    by szelethus
  19. llvm-reduce: For now, mark these tests as requiring a shell

    (since they execute shell scripts/that's the only entry point at the
    moment) (detail)
    by dblaikie
  20. [libc++] Mark issue 2587 resolved by issue 2567

    Updates status. NFC. (detail)
    by zoecarver
  21. Precommit tests for D67514 (detail)
    by reames
  22. AMDGPU: Fix bug in r371671 on some builds. (detail)
    by kerbowa
  23. [analyzer][NFC] Fix inconsistent references to checkers as "checks"

    Traditionally, clang-tidy uses the term check, and the analyzer uses checker,
    but in the very early years, this wasn't the case, and code originating from the
    early 2010's still incorrectly refer to checkers as checks.

    This patch attempts to hunt down most of these, aiming to refer to checkers as
    checkers, but preserve references to callback functions (like checkPreCall) as
    checks.

    Differential Revision: https://reviews.llvm.org/D67140 (detail)
    by szelethus
  24. NFC, add missing cl::cat option category to clang-scan-deps options to ensure they show up in -help (detail)
    by arphaman
  25. Add getauxval() compat for NetBSD

    Summary:
    getauxval() is not available on NetBSD and there is no a direct equivalent.

    Add a function that implements the same semantics with NetBSD internals.

    Reorder the GetPageSize() functions to prefer the sysctl approach for NetBSD.
    It no longer makes a difference which approach is better. Avoid changing
    conditional code path.

    Reviewers: vitalybuka, dvyukov, mgorny, joerg

    Reviewed By: vitalybuka

    Subscribers: llvm-commits, #sanitizers

    Tags: #sanitizers, #llvm

    Differential Revision: https://reviews.llvm.org/D67329 (detail)
    by kamil
  26. Split many_tls_keys.cpp into two tests

    Summary:
    many_tls_keys_pthread.cpp for TSD
    many_tls_keys_thread.cpp for TLS

    The TSD test is unsupported on NetBSD as it assumes TLS used internally.
    TSD on NetBSD does not use TLS.

    Reviewers: joerg, vitalybuka, mgorny, dvyukov, kcc

    Reviewed By: vitalybuka

    Subscribers: jfb, llvm-commits, #sanitizers

    Tags: #sanitizers, #llvm

    Differential Revision: https://reviews.llvm.org/D67428 (detail)
    by kamil
  27. [analyzer] Don't run the analyzer for -analyzer-list-enabled-checkers

    Short and sweet. Whenever I use -analyzer-list-enabled-checkers, I'm only
    interested about the configuration, not about the analysis.

    Differential Revision: https://reviews.llvm.org/D66714 (detail)
    by szelethus
  28. llvm-reduce: Remove unused plugin support/requirements (detail)
    by dblaikie
  29. Use host's executable suffix for clang when cross-compiling compiler-rt

    When cross-compiling compiler-rt as part of LLVM e. g. for Linux on
    a Windows host and using the just-built clang as cross-compiler, we set
    the -DBUILTINS_CMAKE_ARGS="-DCMAKE_SYSTEM_NAME=Linux" flag in top-level
    cmake invocation, which causes CMAKE_EXECUTABLE_SUFFIX to be an empty
    string in the nested cmake invocation for building builtins.

    But the compiler for compiling test cases is meant to be run on host,
    therefore it may have the '.exe' suffix.

    Handle this by asking cmake about the host system.

    Patch by Sergej Jaskiewicz <jaskiewiczs@icloud.com>

    Reviewed By: rnk

    Differential Revision: https://reviews.llvm.org/D67401 (detail)
    by rnk
  30. [MS] Warn when shadowing template parameters under -fms-compatibility

    Summary:
    C++ does not allow shadowing template parameters, but previously we
    allowed it under -fms-extensions. Now this behavior is controlled by
    -fms-compatibility, and we emit a -Wmicrosoft-template warning when it
    happens.

    Fixes PR43265

    Reviewers: thakis, hans

    Subscribers: amccarth, rsmith, STL_MSFT, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D67463 (detail)
    by rnk
  31. [LICM/AST] Check if the AliasAny set is removed from the tracker.

    Summary:
    Resolves PR38513.
    Credit to @bjope for debugging this.

    Reviewers: hfinkel, uabelho, bjope

    Subscribers: sanjoy.google, bjope, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D67417 (detail)
    by asbirlea
  32. [clang-scan-deps] remove dots and dots dots from the reported file dependency paths

    This resolves differences observed on LLVM + Clang when running the comparison between canonical
    dependencies (full preprocessing, no file manager reused), and dependencies obtained
    when the file manager was reused between the full preprocessing invocations. (detail)
    by arphaman
  33. [InstCombine] add tests for fptrunc; NFC (detail)
    by spatel
  34. Don't warn about selectany on implicitly inline variables

    Summary:
    This avoids a -Wignored-attribute warning on the code pattern Microsoft
    recommends for integral const static data members defined in headers
    here:
    https://docs.microsoft.com/en-us/cpp/build/reference/microsoft-extensions-to-c-and-cpp?view=vs-2019

    The attribute is redundant, but it is necessary when compiling in C++14
    modes with /Za, which disables MSVC's extension that treats such
    variables as implicitly inline.

    Fixes PR43270

    Reviewers: epastor, thakis, hans

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D67426 (detail)
    by rnk

Started by timer (5 times)

This run spent:

  • 4 hr 22 min waiting;
  • 5 hr 14 min build duration;
  • 9 hr 37 min total from scheduled to completion.
Test Result (5 failures / -1)Show all failed tests >>>

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

Compile Error

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