Started 1 day 6 hr ago
Took 17 hr on green-dragon-08

Failed Build #5544 (Oct 16, 2019 2:28:18 AM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 374980
  • http://llvm.org/svn/llvm-project/cfe/trunk : 374971
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 374977
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 364589
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 374854
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 374901
Changes
  1. [HardwareLoops] Optimisation remarks

    This adds the initial plumbing to support optimisation remarks in
    the IR hardware-loop pass.

    I have left a todo in a comment where we can improve the reporting,
    and will iterate on that now that we have this initial support in.

    Differential Revision: https://reviews.llvm.org/D68579 (detail/ViewSVN)
    by sjoerdmeijer
  2. [NFC] Replace a linked list in LiveDebugVariables pass with a DenseMap

    In LiveDebugVariables.cpp:
    Prior to this patch, UserValues were grouped into linked list chains. Each
    chain was the union of two sets: { A: Matching Source variable } or
    { B: Matching virtual register }. A ptr to the heads (or 'leaders')
    of each of these chains were kept in a map with the { Source variable } used
    as the key (set A predicate) and another with { Virtual register } as key
    (set B predicate).

    There was a search through the chains in the function getUserValue looking for
    UserValues with matching { Source variable, Complex expression, Inlined-at
    location }. Essentially searching for a subset of A through two interleaved
    linked lists of set A and B. Importantly, by design, the subset will only
    contain one or zero elements here. That is to say a UserValue can be uniquely
    identified by the tuple { Source variable, Complex expression, Inlined-at
    location } if it exists.

    This patch removes the linked list and instead uses a DenseMap to map
    the tuple { Source variable, Complex expression, Inlined-at location }
    to UserValue ptrs so that the getUserValue search predicate is this map key.
    The virtual register map now maps a vreg to a SmallVector<UserVal *> so that
    set B is still available for quick searches.

    Reviewers: aprantl, probinson, vsk, dblaikie

    Reviewed By: aprantl

    Subscribers: russell.gallop, gbedwell, bjope, hiraditya, llvm-commits

    Tags: #debug-info, #llvm

    Differential Revision: https://reviews.llvm.org/D68816 (detail/ViewSVN)
    by orlandoch
  3. [CMake] Disable building all Darwin libraries (except builtins) for macOS i386 when the SDK is >= 10.15.

    Summary:
    In the macOS 10.15 SDK the ability to link i386 binaries was removed and
    in the corresponding OS it is not possible to run macOS i386 binaries.

    The consequence of these changes meant that targets like `check-asan`
    would fail because:

    * Unit tests could not be linked for i386
    * Lit tests for i386 would fail due to not being able to execute
      compiled binaries.

    The simplest fix to this is to simply disable building for i386 for
    macOS when using the 10.15 SDK (or newer). This disables building the
    i386 slice for most compiler-rt libraries and consequently disables the
    unit and lit tests for macOS i386.

    Note that because the `DARWIN_osx_ARCHS` CMake variable is a cache
    variable this patch will have no affect on existing builds unless
    the existing cache variable is deleted. The simplest way to deal with
    this is delete existing builds and just do a fresh configure.

    Note this should not affect the builtins which are managed with
    the `DARWIN_osx_BUILTIN_ARCHS` CMake cache variable.

    For those who wish to force using a particular set of architectures when
    using newer SDKs passing `-DDARWIN_osx_ARCHS=i386;x86_64;x86_64h` to
    CMake should provide a usable (but completely unsupported) workaround.

    rdar://problem/55668535
    rdar://problem/47939978

    Reviewers: kubamracek, yln, azhar, kcc, dvyukov, vitalybuka, cryptoad, eugenis, thakis, phosek

    Subscribers: mgorny, #sanitizers, llvm-commits

    Tags: #llvm, #sanitizers

    Differential Revision: https://reviews.llvm.org/D68292 (detail/ViewSVN)
    by delcypher
  4. [LegalizeTypes] Don't use PromoteTargetBoolean in WidenVecOp_SETCC.

    Similar to r374970, but I don't have a test for this.

    PromoteTargetBoolean is intended to be use for legalizing an
    operand that needs to be promoted. It picks its type based on
    the return from getSetccResultType and is intended to be used
    when we have freedom to pick the new type. But the return type
    we need for WidenVecOp_SETCC is completely determined by the
    type of the input node. (detail/ViewSVN)
    by ctopper
  5. Fix failing mangle-concept.cpp test. (detail/ViewSVN)
    by saar.raz
  6. [LegalizeTypes] Don't call PromoteTargetBoolean from SplitVecOp_VSETCC.

    PromoteTargetBoolean calls getSetccResultType to get the return
    type. But we were passing it the setcc result type rather than the
    setcc input type. This causes an issue on X86 with avx512vl where
    the setcc result type for vXf16 vectors is vXi16 while the
    result type for vXi16 vectors is vXi1.

    There's really no guarantee that getSetccResultType is the type
    we need here. So now we just grab the extend type from
    getExtendForContent and extend to the original result VT of the
    node we're splitting. (detail/ViewSVN)
    by ctopper
  7. [Concepts] ConceptSpecializationExprs mangling

    Implement mangling for CSEs to match regular template-ids.
    Reviewed as part of D41569. (detail/ViewSVN)
    by saar.raz
  8. Revert "[ASan] Refine diagnoses messages"

    This reverts commit 4d1ecadda59ce82e5fa6e28dd15bf794eee88363. (detail/ViewSVN)
    by yln
  9. CodeExtractor: NFC: Use Range based loop

    Reviewers: vsk, tejohnson, fhahn

    Subscribers: llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68924 (detail/ViewSVN)
    by hiraditya
  10. [libTooling] Put all Transformer declarations in a single namespace.

    Summary:
    This revision introduces a new namespace, `clang::transformer`, to hold
    the declarations for the Transformer library.

    Reviewers: gribozavr

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D68876 (detail/ViewSVN)
    by ymandel
  11. Fix an unused variable introduced in rL374955 / rG21703543.

    Even though this is a unit test, it still may be run under optimization. (detail/ViewSVN)
    by dlj
  12. [ASan] Refine diagnoses messages

    The provided PC is not reliable in every case, so don't suggest
    something that does not make sense. (detail/ViewSVN)
    by yln
  13. [dsymutil] Support and relocate base address selection entries for debug_loc

    Since r374600 clang emits base address selection entries. Currently
    dsymutil does not support these entries and incorrectly interprets them
    as location list entries.

    This patch adds support for base address selection entries in dsymutil
    and makes sure they are relocated correctly.

    Thanks to Dave for coming up with the test case!

    Differential revision: https://reviews.llvm.org/D69005 (detail/ViewSVN)
    by Jonas Devlieghere
  14. [Reland][VirtualFileSystem] Support virtual working directory in the RedirectingFS

    Before this patch, changing the working directory of the RedirectingFS
    would just forward to its external file system. This prevented us from
    having a working directory that only existed in the VFS mapping.

    This patch adds support for a virtual working directory in the
    RedirectingFileSystem. It now keeps track of its own WD in addition to
    updating the WD of the external file system. This ensures that we can
    still fall through for relative paths.

    This change was originally motivated by the reproducer infrastructure in
    LLDB where we want to deal transparently with relative paths.

    Differential revision: https://reviews.llvm.org/D65677 (detail/ViewSVN)
    by Jonas Devlieghere
  15. PR43674: fix incorrect constant evaluation of 'switch' where no case
    label corresponds to the condition. (detail/ViewSVN)
    by rsmith
  16. Remove unnecessary and inappropriate forward-declaration of Sema from
    AST. (detail/ViewSVN)
    by rsmith
  17. [Orc] Add a method for ObjectLinkingLayer to return ownership of object buffers.

    RTDyldObjectLinkingLayer allowed clients to register a NotifyEmitted function to
    reclaim ownership of object buffers once they had been linked. This patch adds
    similar functionality to ObjectLinkingLayer: Clients can now optionally call the
    ObjectLinkingLayer::setReturnObjectBuffer method to register a function that
    will be called when discarding object buffers. If set, this function will be
    called to return ownership of the object regardless of whether the link
    succeeded or failed.

    Use cases for this function include debug dumping (it provides a way to dump
    all objects linked into JIT'd code) and object re-use (e.g. storing an
    object in a cache). (detail/ViewSVN)
    by Lang Hames
  18. [Docs] Updates sidebar links and sets max-width property for div.body

    Updates the sidebar links for Getting Started. Also sets max-width on div.body to 1000px. (detail/ViewSVN)
    by dr87
  19. [JITLink] Switch to slab allocation for InProcessMemoryManager, re-enable test.

    InProcessMemoryManager used to make separate memory allocation calls for each
    permission level (RW, RX, RO), which could lead to target-out-of-range errors
    if data and code were placed too far apart (this was the source of failures in
    the JITLink/AArch64 testcase when it was first landed).

    This patch updates InProcessMemoryManager to allocate a single slab which is
    subdivided between text and data. This should guarantee that accesses remain
    in-range provided that individual object files do not exceed 1Mb in size.
    This patch also re-enables the JITLink/AArch64 testcase. (detail/ViewSVN)
    by Lang Hames
  20. [lit] Add back LitTestCase

    This essentially reverts a commit [1] that removed the adaptor for
    Python unittests.  The code has been slightly refactored to make it more
    additive: all code is contained in LitTestCase.py.

    Usage sites will require a small adaption:
    ```
    [old]
      import lit.discovery
      ...
      test_suite = lit.discovery.load_test_suite(...)

    [new]
      import lit.LitTestCase
      ...
      test_suite = lit.LitTestCase.load_test_suite(...)
    ```

    This was put back on request by Daniel Dunbar, since I wrongly assumed
    that the functionality is unused.  At least llbuild still uses this [2].

    [1] 70ca752ccf6a8f362aea25ccd3ee2bbceca93b20
    [2] https://github.com/apple/swift-llbuild/blob/master/utils/Xcode/LitXCTestAdaptor/LitTests.py#L16

    Reviewed By: ddunbar

    Differential Revision: https://reviews.llvm.org/D69002 (detail/ViewSVN)
    by yln
  21. [XCOFF]implement parsing relocation information for 32-bit xcoff object file

    Summary:
        Parsing the relocation entry information for 32-bit xcoff object file
    including deal with the relocation overflow.

    Reviewers: hubert.reinterpretcast, jasonliu, sfertile, xingxue.

    Subscribers: hiraditya, rupprecht, seiya

    Differential Revision: https://reviews.llvm.org/D67008 (detail/ViewSVN)
    by diggerlin
  22. [llvm-lipo] Add missing cast

    Add missing cast (to correctly sum 32-bit integers).

    Test plan: make check-all (detail/ViewSVN)
    by alexshap
  23. AMDGPU: Fix infinite searches in SIFixSGPRCopies

    Summary:
    Two conditions could lead to infinite loops when processing PHI nodes in
    SIFixSGPRCopies.

    The first condition involves a REG_SEQUENCE that uses registers defined by both
    a PHI and a COPY.

    The second condition arises when a physical register is copied to a virtual
    register which is then used in a PHI node. If the same virtual register is
    copied to the same physical register, the result is an endless loop.

    %0:sgpr_64 = COPY $sgpr0_sgpr1
    %2 = PHI %0, %bb.0, %1, %bb.1
    $sgpr0_sgpr1 = COPY %0

    Reviewers: alex-t, rampitec, arsenm

    Reviewed By: rampitec

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

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68970 (detail/ViewSVN)
    by kerbowa
  24. [OPENMP]Fix comments/params, NFC. (detail/ViewSVN)
    by abataev
  25. [OPENMP]Allow final clause in combined task-based directives.
    The condition of the final clause must be captured in the combined
    task-based directives, like 'parallel master taskloop' directive. (detail/ViewSVN)
    by abataev
  26. [llvm-readobj][xcoff] implement parsing overflow section header.

    SUMMARY:
    in the xcoff, if the number of relocation entries or line number entries is
    overflow(large than or equal 65535) , there will be overflow section for it.
    The interpret of overflow section is different with generic section header,
    the patch implement parsing the overflow section.

    Reviewers: hubert.reinterpretcast,sfertile,jasonliu
    Subscribers: rupprecht, seiya

    Differential Revision: https://reviews.llvm.org/D68575 (detail/ViewSVN)
    by diggerlin
  27. [Concept] Associated Constraints Infrastructure

    Add code to correctly calculate the associated constraints of a template (no enforcement yet).
    D41284 on Phabricator. (detail/ViewSVN)
    by saar.raz
  28. [Clang][OpenMP Offload] Move offload registration code to the wrapper

    The final list of OpenMP offload targets becomes known only at the link time and since offload registration code depends on the targets list it makes sense to delay offload registration code generation to the link time instead of adding it to the host part of every fat object. This patch moves offload registration code generation from clang to the offload wrapper tool.

    This is the last part of the OpenMP linker script elimination patch https://reviews.llvm.org/D64943

    Differential Revision: https://reviews.llvm.org/D68746 (detail/ViewSVN)
    by sdmitriev
  29. Fix as-w-option.c on Windows where no assembler exists (detail/ViewSVN)
    by rnk
  30. Revert "[VirtualFileSystem] Support virtual working directory in the  RedirectingFS"

    This reverts the original commit and the follow up:

    Revert "[VirtualFileSystem] Support virtual working directory in the  RedirectingFS"
    Revert "[test] Update YAML mapping in VirtualFileSystemTest" (detail/ViewSVN)
    by Jonas Devlieghere
  31. Added support for "#pragma clang section relro=<name>"

    Differential Revision: https://reviews.llvm.org/D68806 (detail/ViewSVN)
    by dmikulin
  32. [WebAssembly] Allow multivalue types in block signature operands

    Summary:
    Renames `ExprType` to the more apt `BlockType` and adds a variant for
    multivalue blocks. Currently non-void blocks are only generated at the
    end of functions where the block return type needs to agree with the
    function return type, and that remains true for multivalue
    blocks. That invariant means that the actual signature does not need
    to be stored in the block signature `MachineOperand` because it can be
    inferred by `WebAssemblyMCInstLower` from the return type of the
    parent function. `WebAssemblyMCInstLower` continues to lower block
    signature operands to immediates when possible but lowers multivalue
    signatures to function type symbols. The AsmParser and Disassembler
    are updated to handle multivalue block types as well.

    Reviewers: aheejin, dschuff, aardappel

    Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68889 (detail/ViewSVN)
    by tlively
  33. [clang] refactor -Wa,-W test cases.

    Remove REQUIRES and only keep the clang driver tests, since the
    assembler are already tested with -Wa,--no-warn. This way we could run
    the test on non-linux platforms and catch breaks on them. (detail/ViewSVN)
    by jcai19
  34. [llvm-objdump] Use a counter for llvm-objdump -h instead of the section index.

    Summary:
    When listing the index in `llvm-objdump -h`, use a zero-based counter instead of the actual section index (e.g. shdr->sh_index for ELF).

    While this is effectively a noop for now (except one unit test for XCOFF), the index values will change in a future patch that filters certain sections out (e.g. symbol tables). See D68669 for more context. Note: the test case in `test/tools/llvm-objdump/X86/section-index.s` already covers the case of incrementing the section index counter when sections are skipped.

    Reviewers: grimar, jhenderson, espindola

    Reviewed By: grimar

    Subscribers: emaste, sbc100, arichardson, aheejin, arphaman, seiya, llvm-commits, MaskRay

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68848 (detail/ViewSVN)
    by rupprecht
  35. [test] Update YAML mapping in VirtualFileSystemTest

    The 'bar' directory should be part of the root rather than the file
    itself. (detail/ViewSVN)
    by Jonas Devlieghere
  36. Fix Driver/working-directory.c test

    Accidentally committed debug print. (detail/ViewSVN)
    by Jan Korous
  37. [X86] combineX86ShufflesRecursively - split the getTargetShuffleInputs call from the resolveTargetShuffleAndZeroables call.

    Exposes an issue in getFauxShuffleMask where the OR(SHUFFLE,SHUFFLE) decode should always resolve zero/undef elements.

    Part of the fix for PR43024 where ideally we shouldn't call resolveTargetShuffleAndZeroables for Depth == 0 (detail/ViewSVN)
    by rksimon
  38. [llvm-profdata] Reinstate tools/llvm-profdata/malformed-ptr-to-counter-array.test

    I removed this test to unblock the ARM bots while looking into failures
    (r374915), and am reinstating it now with a fix.

    I believe the problem was that counter ptr address I used,
    '\0\0\6\0\1\0\0\1', set the high bits of the pointer, not the low bits
    like I wanted. On x86_64 this superficially looks like it tests r370826,
    but it doesn't, as it would have been caught before r370826. However, on
    ARM (or, 32-bit hosts more generally), I suspect the high bits were
    cleared, and you get a 'valid' profile.

    I verified that setting the *low* bits of the pointer does trigger the
    new condition:

    -// Note: The CounterPtr here is off-by-one. This should trigger a malformed profile error.
    -RUN: printf '\0\0\6\0\1\0\0\1' >> %t.profraw
    +// Note: The CounterPtr here is off-by-one.
    +//
    +// Octal '\11' is 9 in decimal: this should push CounterOffset to 1. As there are two counters,
    +// the profile reader should error out.
    +RUN: printf '\11\0\6\0\1\0\0\0' >> %t.profraw

    This reverts commit c7cf5b3e4b918c9769fd760f28485b8d943ed968. (detail/ViewSVN)
    by Vedant Kumar
  39. Reland [Driver] Fix -working-directory issues

    Don't change the default VFS in Driver, update tests & reland.

    This reverts commit 999f8a7416f8edc54ef92e715fd23c532bcc74d4. (detail/ViewSVN)
    by Jan Korous
  40. [XCOFF] Output object text section header and symbol entry for program code.

    This is remaining part of  rG41ca91f2995b: [AIX][XCOFF] Output XCOFF
    object text section header and symbol entry for rogram code.

    SUMMARY:
    Original form of this patch is provided by Stefan Pintillie.

    1. The patch try to output program code section header , symbol entry for
    program code (PR) and Instruction into the raw text section.
    2. The patch include how to alignment and layout the CSection in the text
    section.
    3. The patch also reorganize the code , put some codes into a function.
    (XCOFFObjectWriter::writeSymbolTableEntryForControlSection)

    Additional: We can not add raw data of text section test in the patch, If want
    to output raw text section data,it need a function description patch first.

    Reviewers: hubert.reinterpretcast, sfertile, jasonliu, xingxue.
    Subscribers: wuzish, nemanjai, hiraditya, MaskRay, jsjji.

    Differential Revision: https://reviews.llvm.org/D66969 (detail/ViewSVN)
    by diggerlin
  41. [X86] Make memcmp() use PTEST if possible and also enable AVX1 (detail/ViewSVN)
    by davezarzycki
  42. Add more information to JSON AST dumping of source locations.

    This adds information about the offset within the source file to the given source location as well as information about the include file a location is from. These pieces of information allow for more efficient post-processing of JSON AST dumps. (detail/ViewSVN)
    by aaronballman
  43. [NewGVN] Check that call has an access.

    Check that a call has an attached MemoryAccess before calling
    getClobbering on the instruction.
    If no access is attached, the instruction does not access memory.

    Resolves PR43441. (detail/ViewSVN)
    by asbirlea
  44. [MemorySSA] Update DomTree before applying MSSA updates.

    Update on the fix in rL374850. (detail/ViewSVN)
    by asbirlea
  45. [VirtualFileSystem] Support virtual working directory in the  RedirectingFS

    Before this patch, changing the working directory of the RedirectingFS
    would just forward to its external file system. This prevented us from
    having a working directory that only existed in the VFS mapping.

    This patch adds support for a virtual working directory in the
    RedirectingFileSystem. It now keeps track of its own WD in addition to
    updating the WD of the external file system. This ensures that we can
    still fall through for relative paths.

    This change was originally motivated by the reproducer infrastructure in
    LLDB where we want to deal transparently with relative paths.

    Differential revision: https://reviews.llvm.org/D65677 (detail/ViewSVN)
    by Jonas Devlieghere
  46. [llvm-profdata] Remove tools/llvm-profdata/malformed-ptr-to-counter-array.test

    This test is still failing on the ARM bots and I need time to
    investigate. (detail/ViewSVN)
    by Vedant Kumar
  47. [AIX][XCOFF] Output XCOFF object text section header and symbol entry for program code.

    SUMMARY
    Original form of this patch is provided by Stefan Pintillie.

    The patch try to output program code section header , symbol entry for program code (PR) and Instruction into the raw text section.
    The patch include how to alignment and layout the CSection in the text section.
    The patch also reorganize the code , put some codes into a function(XCOFFObjectWriter::writeSymbolTableEntryForControlSection)
    Additional: We can not add raw data of text section test in the patch, If want to output raw text section data,it need a function description patch first.

    Reviewers: hubert.reinterpretcast, sfertile, jasonliu, xingxue.
    Subscribers: wuzish, nemanjai, hiraditya, MaskRay, jsjji.

    Differential Revision: https://reviews.llvm.org/D66969 (detail/ViewSVN)
    by diggerlin
  48. [AMDGPU] Support mov dpp with 64 bit operands

    We define mov/update dpp intrinsics as overloaded but do not
    support i64, which is a practically useful type. Fix the
    selection and lowering.

    Differential Revision: https://reviews.llvm.org/D68673 (detail/ViewSVN)
    by rampitec
  49. CFI: wrong type passed to llvm.type.test with multiple inheritance devirtualization.

    Differential Revision: https://reviews.llvm.org/D67985 (detail/ViewSVN)
    by dmikulin
  50. [AMDGPU] Allow DPP combiner to work with REG_SEQUENCE

    Differential Revision: https://reviews.llvm.org/D68828 (detail/ViewSVN)
    by rampitec
  51. [Concepts] Remove unused and illegal Sema includes from ExprCXX.cpp

    Fixing accidental includes introduced in 374903 (detail/ViewSVN)
    by saar.raz
  52. gn build: Merge r374903 (detail/ViewSVN)
    by gnsyncbot
  53. [DAGCombiner] fold select-of-constants based on sign-bit test

    Examples:
      i32 X > -1 ? C1 : -1 --> (X >>s 31) | C1
      i8 X < 0 ? C1 : 0 --> (X >>s 7) & C1

    This is a small generalization of a fold requested in PR43650:
    https://bugs.llvm.org/show_bug.cgi?id=43650

    The sign-bit of the condition operand can be used as a mask for the true operand:
    https://rise4fun.com/Alive/paT

    Note that we already handle some of the patterns (isNegative + scalar) because
    there's an over-specialized, yet over-reaching fold for that in foldSelectCCToShiftAnd().
    It doesn't use any TLI hooks, so I can't easily rip out that code even though we're
    duplicating part of it here. This fold is guarded by TLI.convertSelectOfConstantsToMath(),
    so it should not cause problems for targets that prefer select over shift.

    Also worth noting: I thought we could generalize this further to include the case where
    the true operand of the select is not constant, but Alive says that may allow poison to
    pass through where it does not in the original select form of the code.

    Differential Revision: https://reviews.llvm.org/D68949 (detail/ViewSVN)
    by spatel

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

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

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

This run spent:

  • 16 hr waiting;
  • 17 hr build duration;
  • 1 day 10 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