Started 8 mo 10 days ago
Took 14 min on green-dragon-14

Failed Build #280 (Feb 8, 2019 8:04:26 PM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 353601
  • http://llvm.org/svn/llvm-project/cfe/trunk : 353599
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 353601
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 346271
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 353600
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 353554
Changes
  1. [CMake] Don't set <PROJECT>_STANDALONE_BUILD

    We shouldn't be treating runtimes builds as standalone builds since
    we have enough of the context loaded into the runtimes environment.

    Differential Revision: https://reviews.llvm.org/D57992 (detail/ViewSVN)
    by phosek
  2. [libcxx] Support runtimes and monorepo locations for tests

    The test configuration support currently searches for libc++ sources
    in <ROOT>/projects/libcxx. This change also additionally searches
    <ROOT>/runtimes/libcxx (so called runtimes layout) and <ROOT>/libcxx
    (monorepo layout).

    This matches the logic we already use in CMake, for example:
    https://github.com/llvm/llvm-project/blob/6fd4e7f/libcxx/CMakeLists.txt#L148

    When the monorepo becomes the only supported layout in the future,
    we can simplify this logic again.

    Differential Revision: https://reviews.llvm.org/D57776 (detail/ViewSVN)
    by phosek
  3. [StaticAnalyzer] Add missing include to SMTAPI.h. [NFC]

    This include is needed for types within SMTAPI.h. (It's very possible that
    compilation would succeed without it, but that's only by chance.) (detail/ViewSVN)
    by dlj
  4. Fix buildbot failure from r353569.

    I assumed lvalue-to-rvalue conversions of array type would never
    happen, but apparently clang-tidy tries in some cases. (detail/ViewSVN)
    by efriedma
  5. [MC] Clean up unused inline function and non-anchor defaulted destructors; NFCI

    Summary:
    Take care of some missing clean-ups that belong with r249548 and some
    other copy/paste that had happened. In particular, the destructors are
    no longer vtable anchors after r249548; and `setSectionName` in
    `MCSectionWasm` is private and unused since r313058 culled its only
    caller. The destructors are now implicitly defined, and the unused
    function is removed.

    Reviewers: nemanjai, jasonliu, grosbach

    Reviewed By: nemanjai

    Subscribers: sbc100, aheejin, sunfish, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D57182 (detail/ViewSVN)
    by hubert.reinterpretcast
  6. [Fuzzer] Fix function prototype in fuzzer::ExternalFunctions. [NFC]

    The __sanitizer_acquire_crash_state function has int return type, but the
    fuzzer's external function definitions give it bool.

    Places where __sanitizer_acquire_crash_state is declared:

      include/sanitizer_common/sanitizer_interface_defs.h
      lib/sanitizer_common/sanitizer_interface_internal.h
      lib/sanitizer_common/sanitizer_common.cc
      lib/fuzzer/FuzzerExtFunctions.def (this is the only bool) (detail/ViewSVN)
    by dlj
  7. Extra processing for BitCast + PHI in InstCombine

    For some specific cases with bitcast A->B->A with intervening PHI nodes InstCombiner::optimizeBitCastFromPhi transformation creates extra PHI nodes, which are actually a copy of already created PHI or in another words, they are redundant. These extra PHI nodes could lead to extra move instructions generated after DeSSA transformation. This happens when several conditions are met

    - SROA kicks in and creates new alloca;
    - there is a simple assignment L = R, which falls under 'canonicalize loads' done by combineLoadToOperationType (this transformation is by default). Exactly this transformation is the reason of bitcasts generated;
    - the alloca is then used in A->B->A + PHI chain;
    - there is a loop unrolling.

    As a result optimizeBitCastFromPhi creates as many of PHI nodes for each new SROA alloca as loop unrolling factor is. These new extra PHI nodes are redundant actually except of one and should not be created. Moreover the idea of optimizeBitCastFromPhi is to get rid of the cast (when possible) but that doesn't happen in these conditions.

    The proposed fix is to do the cast replacement for the whole calculated/accumulated PHI closure not for one cast only, which is an argument to the optimizeBitCastFromPhi. These will help to accomplish several things: 1) avoid extra PHI nodes generated as all casts which may trigger optimizeBitCastFromPhi transformation will be replaced, 3) bitcasts will be replaced, and 3) create more opportunities to remove dead code, which appears after the replacement.

    A new test case shows that it's possible to get rid of all bitcasts completely and get quite good code reduction.

    Author: Igor Tsimbalist <igor.v.tsimbalist@intel.com>

    Reviewed By: Carrot

    Differential Revision: https://reviews.llvm.org/D57053 (detail/ViewSVN)
    by gbuella
  8. Temporarily disable calls to getgrnam/getgrnam_r in test due to it hitting unrelated issues in EGLIBC 2.19. (detail/ViewSVN)
    by dyung
  9. [AMDGPU] Split idot4/8 signed and unsigned tests. NFC. (detail/ViewSVN)
    by rampitec
  10. [analyzer] Add a comment that FunctionCodeRegions may also need canonicalization (detail/ViewSVN)
    by dergachev
  11. This reverts commit 1440a848a635849b97f7a5cfa0ecc40d37451f5b.
    and commit a1853e834c65751f92521f7481b15cf0365e796b.

    They broke arm and aarch64 (detail/ViewSVN)
    by mramalho
  12. Recommit "[GlobalISel] Introduce a generic floating point floor opcode, G_FFLOOR""

    After r353586, we won't fail on the AMDGPU floor pattern that was killing the
    importer before. (detail/ViewSVN)
    by paquette
  13. [AMDGPU] Split dot-insts feature

    Differential Revision: https://reviews.llvm.org/D57972 (detail/ViewSVN)
    by rampitec
  14. [AMDGPU] Split dot-insts feature

    Differential Revision: https://reviews.llvm.org/D57971 (detail/ViewSVN)
    by rampitec
  15. [GlobalISel] Skip patterns that define complex suboperands twice instead of dying

    If we run into a pattern that looks like this:

    add
      (complex $x, $y)
      (complex $x, $z)

    We should skip the pattern instead of asserting/doing something unpredictable.

    This makes us return an Error in that case, and adds a testcase for skipped
    patterns.

    Differential Revision: https://reviews.llvm.org/D57980 (detail/ViewSVN)
    by paquette
  16. gn build: Merge r353566 (detail/ViewSVN)
    by nico
  17. [libFuzzer] more refactoring; change some of the exit codes (timeout, OOM, interrupt) so that the parent process can distinguish those (detail/ViewSVN)
    by kcc
  18. [analyzer] CStringSyntaxChecks: Fix an off-by-one error in the strlcat() check.

    oth strlcat and strlcpy cut off their safe bound for the argument value
    at sizeof(destination). There's no need to subtract 1 in only one
    of these cases.

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

    rdar://problem/47873212 (detail/ViewSVN)
    by dergachev
  19. [NFC] Avoid passing blocks vector to the OutlineRegionInfo constructor by value.

    Reviewers: vsk, fhahn, davidxl

    Reviewed By: vsk

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D57957 (detail/ViewSVN)
    by sdmitriev
  20. [x86] add test for miscompiling setcc transform (PR40657); NFC (detail/ViewSVN)
    by spatel
  21. Re-apply r353553 "[GISel][NFC]: Add missing call to record CSE hits in the CSEMIRBuilder"

    With a fix after r353563 that adds some more opcodes. (detail/ViewSVN)
    by thegameg
  22. -gmodules: Don't emit incomplete breadcrumbs pointing to nonexistant PCM files.

    When a module name is specified as -fmodule-name, that module gets a
    clang::Module object, but it won't actually be built or imported; it
    will be textual. CGDebugInfo wouldn't detect this and them emit a
    DICompileUnit that had a hash but no name and that confused both
    dsymutil, LLDB, and myself.

    rdar://problem/47926508

    Differential Revision: https://reviews.llvm.org/D57976 (detail/ViewSVN)
    by Adrian Prantl
  23. [CodeGen][ObjC] Fix assert on calling `__builtin_constant_p` with ObjC objects.

    When we are calling `__builtin_constant_p` with ObjC objects of
    different classes, we hit the assertion

    > Assertion failed: (isa<X>(Val) && "cast<Ty>() argument of incompatible type!"), function cast, file include/llvm/Support/Casting.h, line 254.

    It happens because LLVM types for `ObjCInterfaceType` are opaque and
    have no name (see `CodeGenTypes::ConvertType`). As the result, for
    different ObjC classes we have different `is_constant` intrinsics with
    the same name `llvm.is.constant.p0s_s`. When we try to reuse an
    intrinsic with the same name, we fail because of type mismatch.

    Fix by bitcasting `ObjCObjectPointerType` to `id` prior to passing as an
    argument to `__builtin_constant_p`. This results in using intrinsic
    `llvm.is.constant.p0i8` and correct types.

    rdar://problem/47499250

    Reviewers: rjmccall, ahatanak, void

    Reviewed By: void, ahatanak

    Subscribers: ddunbar, jkorous, hans, dexonsmith, cfe-commits

    Differential Revision: https://reviews.llvm.org/D57427 (detail/ViewSVN)
    by vsapsai
  24. [libFuzzer] refactor the merging code, NFC (detail/ViewSVN)
    by kcc
  25. Revert r353553 "[GISel][NFC]: Add missing call to record CSE hits in the CSEMIRBuilder"

    This reverts commit r353553.

    This breaks CodeGen/AArch64/GlobalISel/legalize-ext-csedebug-output.mir:

    http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-incremental/57963/console (detail/ViewSVN)
    by thegameg
  26. [libFuzzer] remove two unused experimental flags (detail/ViewSVN)
    by kcc
  27. [CodeGen][NFC] Update comments in CGExprConstant.cpp. (detail/ViewSVN)
    by efriedma
  28. [libFuzzer] introduce an experimental mode -fork=1, where fuzzing happens in a subprocess (still running multiple inputs per process), thus making the fuzzing more resilient to timeouts and OOMs. This is just a skeleton of the code, and some associated refactoring, not a fully working feature yet. (detail/ViewSVN)
    by kcc
  29. [Sema] Make string literal init an rvalue.

    This allows substantially simplifying the expression evaluation code,
    because we don't have to special-case lvalues which are actually string
    literal initialization.

    This currently throws away an optimization where we would avoid creating
    an array APValue for string literal initialization.  If we really want
    to optimize this case, we should fix APValue so it can store simple
    arrays more efficiently, like llvm::ConstantDataArray.  This shouldn't
    affect the memory usage for other string literals.  (Not sure if this is
    a blocker; I don't think string literal init is common enough for this
    to be a serious issue, but I could be wrong.)

    The change to test/CodeGenObjC/encode-test.m is a weird side-effect of
    these changes: we currently don't constant-evaluate arrays in C, so the
    strlen call shouldn't be folded, but lvalue string init managed to get
    around that check.  I this this is fine.

    Fixes https://bugs.llvm.org/show_bug.cgi?id=40430 . (detail/ViewSVN)
    by efriedma
  30. Fix typo (detail/ViewSVN)
    by Adrian Prantl
  31. [Docs] Use code-block:: text for part of the callbr documentation to attempt to make the bot happy. (detail/ViewSVN)
    by ctopper
  32. [analyzer] Opt-in C Style Cast Checker for OSObject pointers

    Differential Revision: https://reviews.llvm.org/D57261 (detail/ViewSVN)
    by George Karpenkov
  33. [X86] Add FPCW as an implicit use on floating point load instructions.

    These instructions can generate a stack overflow exception so technically they read the stack overflow exception mask bit. (detail/ViewSVN)
    by ctopper
  34. Implementation of asm-goto support in LLVM

    This patch accompanies the RFC posted here:
    http://lists.llvm.org/pipermail/llvm-dev/2018-October/127239.html

    This patch adds a new CallBr IR instruction to support asm-goto
    inline assembly like gcc as used by the linux kernel. This
    instruction is both a call instruction and a terminator
    instruction with multiple successors. Only inline assembly
    usage is supported today.

    This also adds a new INLINEASM_BR opcode to SelectionDAG and
    MachineIR to represent an INLINEASM block that is also
    considered a terminator instruction.

    There will likely be more bug fixes and optimizations to follow
    this, but we felt it had reached a point where we would like to
    switch to an incremental development model.

    Patch by Craig Topper, Alexander Ivchenko, Mikhail Dvoretckii

    Differential Revision: https://reviews.llvm.org/D53765 (detail/ViewSVN)
    by ctopper
  35. [CodeExtractor] Restore outputs after creating exit stubs

    When CodeExtractor saves the result of InvokeInst at the first insertion
    point of the 'normal destination' basic block, this block can be omitted
    in the outlined region, so store is placed outside of the function. The
    suggested solution is to process saving outputs after creating exit
    stubs for new function, and stores will be placed in that blocks before
    return in this case.

    Patch by Sergei Kachkov!

    Fixes llvm.org/PR40455.

    Differential Revision: https://reviews.llvm.org/D57919 (detail/ViewSVN)
    by Vedant Kumar
  36. Fix Die() after pthread_exit call on macOS

    Summary:
    Scoped interceptor should not be used when calling real pthread_exit().
    On macOS C++ destructors are not called by pthread_exit(), and later check for empty thread ignore set fails.

    Patch by Yuri Per.

    Reviewers: dvyukov, vitalybuka

    Reviewed By: vitalybuka

    Subscribers: vitalybuka, thegameg, kubamracek, jfb, llvm-commits, #sanitizers

    Tags: #sanitizers, #llvm

    Differential Revision: https://reviews.llvm.org/D57963 (detail/ViewSVN)
    by Vitaly Buka
  37. [InstrProf] Fix darwin errors after r353547

    The macros were changed but not updated in the Darwin version.

    Fail here: http://green.lab.llvm.org/green/job/clang-stage1-configure-RA/53739/

    rdar://47925820 (detail/ViewSVN)
    by thegameg
  38. AMDGPU/GlobalISel: Fix broken tests (detail/ViewSVN)
    by arsenm
  39. AMDGPU: Eliminate GPU specific SubtargetFeatures

    Inline compatability is determined from the individual feature
    bits. These are just sets of the separate features, but will always be
    treated as incompatible unless they are specifically ignored.

    Defining the ISA version number here in tablegen would be nice, but it
    turns out this wasn't actually used. (detail/ViewSVN)
    by arsenm
  40. [DAGCombine] Optimize pow(X, 0.75) to sqrt(X) * sqrt(sqrt(X))

    The sqrt case is faster and we already do this for the case where
    the exponent is 0.25. This adds the 0.75 case which is also not
    sensitive to signed zeros.

    Patch by Whitney Tsang (Whitney)

    Differential revision: https://reviews.llvm.org/D57434 (detail/ViewSVN)
    by nemanjai
  41. Pass the base element type of an array type to the visit method instead
    of the array type itself.

    This fixes a bug found by inspection that was introduced in r353459. I
    don't have a test case for this since we don't yet have types that would
    make the containing C struct non-trivial to copy/move but wouldn't make
    it non-trivial to default-initialize or destruct. (detail/ViewSVN)
    by ahatanak
  42. [X86] Add explicit alignment to __m128/__m128i/__m128d/etc. to allow matching of MSVC behavior with #pragma pack.

    Summary:
    With MSVC, #pragma pack is ignored when there is explicit alignment. This differs from gcc. Clang emulates this difference when compiling for Windows.

    It appears that MSVC and its headers consider the __m128/__m128i/__m128d/etc. types to be explicitly aligned and ignores #pragma pack for them. Since we don't have explicit alignment on them in our headers, we don't match the MSVC behavior here.

    This patch adds explicit alignment to match this behavior. I'm hoping this won't cause any problems when we're not emulating MSVC. But if someone knows of something that would be different we can swith to conditionally adding the alignment based on _MSC_VER.

    I had to add explicitly unaligned types as well so we could use them in the loadu/storeu intrinsics which use __attribute__(__packed__). Using the now explicitly aligned types wouldn't produce align 1 accesses when targeting Windows.

    Reviewers: rnk, erichkeane, spatel, RKSimon

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D57961 (detail/ViewSVN)
    by ctopper
  43. [clang-tidy] Don't use assignment for value-initialized enums

    Summary:
    The modernize-use-default-member-init check crashes when trying to
    create an assignment value for a value-initialized enum because it isn't a
    BuiltinType.
    An enum cannot be initialized by assigning 0 to it unless a cast is added.
    It could be initialized with an enumerator with the value 0, but there might not
    be one.
    Avoid these issues by ignoring the UseAssignment setting for value-initialized
    enums.

    Fixes PR35050.

    Reviewers: aaron.ballman, alexfh, JonasToth

    Reviewed By: JonasToth

    Subscribers: xazax.hun, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D57852 (detail/ViewSVN)
    by malcolm.parsons
  44. [GISel][NFC]: Add missing call to record CSE hits in the CSEMIRBuilder

    https://reviews.llvm.org/D57932

    Add some logging + tests to make sure CSEInfo prints debug output.

    reviewed by: arsenm (detail/ViewSVN)
    by aditya_nandakumar
  45. [tsan] Remove SCOPED_TSAN_INTERCEPTOR to try to fix ppc bot (detail/ViewSVN)
    by Vitaly Buka
  46. Document libFuzzer on Windows.

    Summary:
    Document that libFuzzer supports Windows, how to get it,
    and its limitations.

    Reviewers: kcc, morehouse, rnk, metzman

    Reviewed By: kcc, rnk, metzman

    Subscribers: hans, rnk

    Differential Revision: https://reviews.llvm.org/D57597 (detail/ViewSVN)
    by metzman
  47. [Cmake] Add an option to build LLVM using the experimental new pass manager

    Add LLVM_USE_NEWPM to build LLVM using the experimental new pass manager.

    Differential Revision: http://reviews.llvm.org/D57068 (detail/ViewSVN)
    by xur
  48. AMDGPU: Remove GCN features and predicates

    These are no longer necessary since the R600 tablegen files are split
    out now. (detail/ViewSVN)
    by arsenm
  49. [InstrProf] Implement static profdata registration

    Summary:
    The motivating use case is eliminating duplicate profile data registered
    for the same inline function in two object files. Before this change,
    users would observe multiple symbol definition errors with VC link, but
    links with LLD would succeed.

    Users (Mozilla) have reported that PGO works well with clang-cl and LLD,
    but when using LLD without this static registration, we would get into a
    "relocation against a discarded section" situation. I'm not sure what
    happens in that situation, but I suspect that duplicate, unused profile
    information was retained. If so, this change will reduce the size of
    such binaries with LLD.

    Now, Windows uses static registration and is in line with all the other
    platforms.

    Reviewers: davidxl, wmi, inglorion, void, calixte

    Subscribers: mgorny, krytarowski, eraman, fedor.sergeev, hiraditya, #sanitizers, dmajor, llvm-commits

    Tags: #sanitizers, #llvm

    Differential Revision: https://reviews.llvm.org/D57929 (detail/ViewSVN)
    by rnk
  50. [TargetLowering] Use ISD::FSHR in expandFixedPointMul

    Replace OR(SHL,SRL) pattern with ISD::FSHR (legalization expands this later if necessary) - this helps with the scale == 0 'undefined' drop-through case that was discussed on D55720. (detail/ViewSVN)
    by rksimon
  51. [test] Run the verifier for dsymutil module tests

    Dsymutil has an option "verify" that runs the dwarf verifier on the
    generated dSYM. This patch enables this for the module tests. (detail/ViewSVN)
    by Jonas Devlieghere

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

This run spent:

  • 5.7 sec waiting;
  • 14 min build duration;
  • 14 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