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

Failed Build #14737 (Sep 20, 2019 8:14:13 PM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 372451
  • http://llvm.org/svn/llvm-project/cfe/trunk : 372453
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 372348
  • http://llvm.org/svn/llvm-project/zorg/trunk : 372433
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 372242
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 372445
Changes
  1. Merge and improve code that detects same value in comparisons.

    -Wtautological-overlap-compare and self-comparison from -Wtautological-compare
    relay on detecting the same operand in different locations.  Previously, each
    warning had it's own operand checker.  Now, both are merged together into
    one function that each can call.  The function also now looks through member
    access and array accesses.

    Differential Revision: https://reviews.llvm.org/D66045 (detail)
    by rtrieu
  2. Revert assertion added by r372394

    The assertion added by r372394 causes CUDA test in test-suite to assert.

    The assertion was not there originally, so revert it. (detail)
    by yaxunl
  3. avr targetinfo: remove unneeded dep on MC (detail)
    by nico
  4. AMDGPU/GlobalISel: Allow selection of scalar min/max

    I believe all of the uniform/divergent pattern predicates are
    redundant and can be removed. The uniformity bit already influences
    the register class, and nothhing has broken when I've removed this and
    others. (detail)
    by arsenm
  5. LiveIntervals: Add missing operator!= for segments (detail)
    by arsenm
  6. Improve -Wtautological-overlap-compare

    Allow this warning to detect a larger number of constant values, including
    negative numbers, and handle non-int types better.

    Differential Revision: https://reviews.llvm.org/D66044 (detail)
    by rtrieu
  7. Support for 64-bit PC-relative relocations for X86_64

    ELF files generated for X86_64 targets may contain 64-bit PC-relative
    relocations. For instance, an exception handler table entry contains the start
    of exception-throwing frame relative to the start of exception handler. As these
    two labels belong to different sections, their difference and so the relocation
    is 64-bit.

    An attempt to parse such file, i.e. in DWARFContext::create, results in "failed
    to compute relocation" error.

    This fix adds support for such relocations to RelocationResolver.cpp.

    Reviewed By: MaskRay

    Differential Revision: https://reviews.llvm.org/D67779

    Patch by Oleg Pliss (Oleg.Pliss@azul.com) (detail)
    by apilipenko
  8. gn build: Merge r372445 (detail)
    by gnsyncbot
  9. [clang-tidy] Add check for classes missing -hash ⚠️

    Summary:
    Apple documentation states that:
    "If two objects are equal, they must have the same hash value. This last
    point is particularly important if you define isEqual: in a subclass and
    intend to put instances of that subclass into a collection. Make sure
    you also define hash in your subclass."
    https://developer.apple.com/documentation/objectivec/1418956-nsobject/1418795-isequal?language=objc

    In many or all versions of libobjc, -[NSObject isEqual:] is a pointer
    equality check and -[NSObject hash] returns the messaged object's
    pointer. A relatively common form of developer error is for a developer to
    override -isEqual: in a subclass without overriding -hash to ensure that
    hashes are equal for objects that are equal.

    It is assumed that an override of -isEqual: is a strong signal for
    changing the object's equality operator to something other than pointer
    equality which implies that a missing override of -hash could result in
    distinct objects being equal but having distinct hashes because they are
    independent instances. This added check flags classes that override
    -isEqual: but inherit NSObject's implementation of -hash to warn of the
    potential for unexpected behavior.

    The proper implementation of -hash is the responsibility of the
    developer and the check will only verify that the developer made an
    effort to properly implement -hash. Developers can set up unit tests
    to verify that their implementation of -hash is appropriate.

    Test Notes:
    Ran check-clang-tools.

    Reviewers: aaron.ballman, benhamilton

    Reviewed By: aaron.ballman

    Subscribers: Eugene.Zelenko, mgorny, xazax.hun, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D67737 (detail)
    by stephanemoore
  10. [clang-scan-deps] strip the --serialize-diagnostics argument

    This ensures that clang-scan-deps won't write out diagnostics when
    scanning dependencies. (detail)
    by arphaman
  11. [GlobalISel] Defer setting HasCalls on MachineFrameInfo to selection time.

    We currently always set the HasCalls on MFI during translation and legalization if
    we're handling a call or legalizing to a libcall. However, if that call is later
    optimized to a tail call then we don't need the flag. The flag being set to true
    causes frame lowering to always save and restore FP/LR, which adds unnecessary code.

    This change does the same thing as SelectionDAG and ports over some code that scans
    instructions after selection, using TargetInstrInfo to determine if target opcodes
    are known calls.

    Code size geomean improvements on CTMark:
    -O0 : 0.1%
    -Os : 0.3%

    Differential Revision: https://reviews.llvm.org/D67868 (detail)
    by aemerson
  12. [Inliner] Remove incorrect early exit during switch cost computation

    Summary:
    The CallAnalyzer::visitSwitchInst has an early exit when the estimated
    lower bound of the switch cost will put the overall cost of the inline
    above the threshold. However, this code is not correctly estimating the
    lower bound for switches that can be transformed into bit tests, leading
    to unnecessary lost inlines, and also differing behavior with
    optimization remarks enabled.

    First, the early exit is controlled by whether ComputeFullInlineCost is
    enabled or not, and that in turn is disabled by default but enabled when
    enabling -pass-remarks=missed. This by itself wouldn't lead to a
    problem, except that as described below, the lower bound can be above
    the real lower bound, so we can sometimes get different inline decisions
    with inline remarks enabled, which is problematic.

    The early exit was added in along with a new switch cost model in D31085.
    The reason why this early exit was added is due to a concern one reviewer
    raised about compile time for large switches:
    https://reviews.llvm.org/D31085?id=94559#inline-276200

    However, the code just below there calls
    getEstimatedNumberOfCaseClusters, which in turn immediately calls
    BasicTTIImpl getEstimatedNumberOfCaseClusters, which in the worst case
    does a linear scan of the cases to get the high and low values. The
    bit test handling in particular is guarded by whether the number of
    cases fits into the max bit width. There is no suggestion that anyone
    measured a compile time issue, it appears to be theoretical.

    The problem is that the reviewer's comment about the lower bound
    calculation is incorrect, specifically in the case of a switch that can
    be lowered to a bit test. This isn't followed up on the comment
    thread, but the author does add a FIXME to that effect above the early
    exit added when they subsequently revised the patch.

    As a result, we were incorrectly early exiting and not inlining
    functions with switch statements that would be lowered to bit tests in
    cases where we were nearing the threshold. Combined with the fact that
    this early exit was skipped with opt remarks enabled, this caused
    different inlining decisions to be made when -pass-remarks=missed is
    enabled to debug the missing inline.

    Remove the early exit for the above reasons.

    I also copied over an existing AArch64 inlining test to X86, and
    adjusted the threshold so that the bit test inline only occurs with the
    fix in this patch.

    Reviewers: davidxl

    Subscribers: eraman, kristof.beyls, haicheng, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D67716 (detail)
    by tejohnson
  13. [SampleFDO] Expose an interface to return the size of a section or the size
    of the profile for profile in ExtBinary format.

    Sometimes we want to limit the size of the profile by stripping some functions
    with low sample count or by stripping some function names with small text size
    from profile symbol list. That requires the profile reader to have the
    interfaces returning the size of a section or the size of total profile. The
    patch add those interfaces.

    At the same time, add some dump facility to show the size of each section. (detail)
    by wmi
  14. Remove outdated FIXME. (detail)
    by rsmith
  15. Fix assertion failure when constant evaluation of a switch jumps over an
    uninitialized variable in an init-statement of a 'for' or 'if'. (detail)
    by rsmith
  16. [SystemZ] Support z15 processor name

    The recently announced IBM z15 processor implements the architecture
    already supported as "arch13" in LLVM.  This patch adds support for
    "z15" as an alternate architecture name for arch13.

    Corrsponding LLVM support was committed as rev. 372435. (detail)
    by uweigand
  17. [SystemZ] Support z15 processor name

    The recently announced IBM z15 processor implements the architecture
    already supported as "arch13" in LLVM.  This patch adds support for
    "z15" as an alternate architecture name for arch13.

    The patch also uses z15 in a number of places where we used arch13
    as long as the official name was not yet announced. (detail)
    by uweigand
  18. Fix missed case of switching getConstant to getTargetConstant. Try 2.

    Summary: This fixes a crasher introduced by r372338.

    Reviewers: echristo, arsenm

    Subscribers: wdng, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D67850 (detail)
    by saugustine
  19. Remove sanitizer-aarch64-linux-mte bot.

    We never did anything with it, and it looks easier to add the tests
    on one of the existing x86_64 bots (via qemu). (detail)
    by eugenis
  20. [Docs] Add a custom sidebar to doc pages

    Adds a custom sidebar to LLVM docs. Sidebar includes links to How to submit a bug and FAQ topics, as well as a Show Source link and search box. (detail)
    by dr87
  21. [PPC] PPCLoopPreIncPrep - silence static analyzer null dereference warning. (detail)
    by rksimon
  22. [AddressSanitizer] Don't dereference dyn_cast<ConstantInt> results. NFCI.

    The static analyzer is warning about potential null dereference, but we can use cast<ConstantInt> directly and if not assert will fire for us. (detail)
    by rksimon
  23. [Docs] Move topics to new categories

    This commit moves several topics to new categories. (detail)
    by dr87
  24. [NFC][PowerPC] Consolidate testing of common linkage symbols

    Add a new file to test the code gen for common linkage symbol.
    Remove common linkage in some other testcases to avoid distraction. (detail)
    by jsji
  25. Revert "[MachinePipeliner] Improve the TargetInstrInfo API analyzeLoop/reduceLoopCount"

    This commit broke the ASan buildbot. See comments in rL372376 for more
    information.

    This reverts commit 15e27b0b6d9d51362fad85dbe95ac5b3fadf0a06. (detail)
    by hctim
  26. [docs] Update structure-aware-fuzzing link.

    The document has been moved to the google/fuzzing GitHub repo. (detail)
    by morehouse
  27. Ensure AtomicExpr goes through SEMA checking after TreeTransform

    RebuildAtomicExpr was skipping doing semantic analysis which broke in
    the cases where the expressions were not dependent. This resulted in the
    ImplicitCastExpr from an array to a pointer being lost, causing a crash
    in IR CodeGen.

    Differential Revision: https://reviews.llvm.org/D67854 (detail)
    by erichkeane
  28. Can't pass .dSYM directory to llvm-objdump -dsym= (and error message is wrong)

    Summary:
    Allow users to pass the path to a .dSYM directory to llvm-objdump's -dsym
    flag rather than requiring users to find the DWARF DSYM Mach-O within the
    bundle structure by hand.

    rdar://46873333

    Reviewers: pete, lhames, friss, aprantl

    Reviewed By: pete, aprantl

    Subscribers: MaskRay, aprantl, rupprecht, seiya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D67780 (detail)
    by mtrent
  29. [Mips] Remove immarg test for intrinsics that no longer have an immarg after r372409. (detail)
    by ctopper

Started by timer (9 times)

This run spent:

  • 8 hr 3 min waiting;
  • 4 hr 18 min build duration;
  • 12 hr total from scheduled to completion.

Identified problems

Ninja target failed

Below is a link to the first failed ninja target.
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

Missing test results

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