Started 13 days ago
Took 1 hr 10 min

Success Build clang-r365694-t57865-b57865.tar.gz (Jul 10, 2019 2:46:31 PM)

Issues

No known issues detected

Build Log

Revision: 365610
Changes
  1. [NFC][InstCombine] Comb through just-added "omit mask before left-shift" tests once more (detail)
    by lebedevri
  2. Add support for building with Python 3

    LLDB supports Python 3 now.

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

    Patch from Christian Biesinger <cbiesinger@google.com>! (detail)
    by nico
  3. [AArch64][GlobalISel] Optimize compare and branch cases with G_INTTOPTR and unknown values.

    Since we have distinct types for pointers and scalars, G_INTTOPTRs can sometimes
    obstruct attempts to find constant source values. These usually come about when
    try to do some kind of null pointer check. Teaching getConstantVRegValWithLookThrough
    about this operation allows the CBZ/CBNZ optimization to catch more cases.

    This change also improves the case where we can't find a constant source at all.
    Previously we would emit a cmp, cset and tbnz for that. Now we try to just emit
    a cmp and conditional branch, saving an instruction.

    The cumulative code size improvement of this change plus D64354 is 5.5% geomean
    on arm64 CTMark -O0.

    Differential Revision: https://reviews.llvm.org/D64377 (detail)
    by aemerson
  4. gn build: Merge r365687 (detail)
    by nico
  5. Revert "[ELF] Loose a condition for relocation with a symbol"

    This reverts commit 8507eca1647118e73435b0ce1de8a1952a021d01.

    Reveting due to some suspicious failurse in santizer-x86_64-linux. (detail)
    by nikolaprica
  6. [GlobalISel][AArch64] Use getOpcodeDef instead of findMIFromReg

    Some minor cleanup.

    This function in Utils does the same thing as `findMIFromReg`. It also looks
    through copies, which `findMIFromReg` didn't.

    Delete `findMIFromReg` and use `getOpcodeDef` instead. This only happens in
    `tryOptVectorDup` right now.

    Update opt-shuffle-splat to show that we can look through the copies now, too.

    Differential Revision: https://reviews.llvm.org/D64520 (detail)
    by paquette
  7. [GlobalISel][AArch64][NFC] Use getDefIgnoringCopies from Utils where we can

    There are a few places where we walk over copies throughout
    AArch64InstructionSelector.cpp. In Utils, there's a function that does exactly
    this which we can use instead.

    Note that the utility function works with the case where we run into a COPY
    from a physical register. We've run into bugs with this a couple times, so using
    it should defend us from similar future bugs.

    Also update opt-fold-compare.mir to show that we still handle physical registers
    properly.

    Differential Revision: https://reviews.llvm.org/D64513 (detail)
    by paquette
  8. Revert "[System Model] [TTI] Update cache and prefetch TTI interfaces"

    This broke some PPC prefetching tests.

    This reverts commit 9fdfb045ae8bb643ab0d0455dcf9ecaea3b1eb3c. (detail)
    by greened
  9. Move three folds for FADD, FSUB and FMUL in the DAG combiner away from Unsafe to more aligned checks that reflect context

    Summary: Unsafe does not map well alone for each of these three cases as it is missing NoNan context when accessed directly with clang.  I have migrated the fold guards to reflect the expectations of handing nan and zero contexts directly (NoNan, NSZ) and some tests with it.  Unsafe does include NSZ, however there is already precedent for using the target option directly to reflect that context.

    Reviewers: spatel, wristow, hfinkel, craig.topper, arsenm

    Reviewed By: arsenm

    Subscribers: michele.scandale, wdng, javed.absar

    Differential Revision: https://reviews.llvm.org/D64450 (detail)
    by mcberg2017
  10. [System Model] [TTI] Update cache and prefetch TTI interfaces

    Rework the TTI cache and software prefetching APIs to prepare for the
    introduction of a general system model.  Changes include:

    - Marking existing interfaces const and/or override as appropriate
    - Adding comments
    - Adding BasicTTIImpl interfaces that delegate to a subtarget
      implementation
    - Adding a default "no information" subtarget implementation

    Only a handful of targets use these interfaces currently: AArch64,
    Hexagon, PPC and SystemZ.  AArch64 already has a custom subtarget
    implementation, so its custom TTI implementation is migrated to use
    the new facilities in BasicTTIImpl to invoke its custom subtarget
    implementation.  The custom TTI implementations continue to exist for
    the other targets with this change.  They are not moved over to
    subtarget-based implementations.

    The end goal is to have the default subtarget implementation defer to
    the system model defined by the target.  With this change, the default
    subtarget implementation essentially returns "no information" for
    these interfaces.  None of the existing users of TTI will hit that
    implementation because they define their own custom TTI
    implementations and won't use the BasicTTIImpl implementations.

    Once system models are in place for the targets that use these
    interfaces, their custom TTI implementations can be removed.

    Differential Revision: https://reviews.llvm.org/D63614 (detail)
    by greened
  11. Recommit "[CommandLine] Remove OptionCategory and SubCommand caches from the Option class."

    Previously reverted in 364141 due to buildbot breakage, and fixed here
    by making GeneralCategory global a ManagedStatic.

    Summary:
    This change processes `OptionCategory`s and `SubCommand`s as they
    are seen instead of caching them in the Option class and processing
    them later.  Doing so simplifies the work needed to be done by the Global
    parser and significantly reduces the size of the Option class to a mere 64
    bytes.

    Removing  the `OptionCategory` cache saved 24 bytes, and removing
    the `SubCommand` cache saved an additional 48 bytes, for a total of a
    72 byte reduction.

    Reviewed By: serge-sans-paille

    Tags: #llvm, #clang

    Differential Revision: https://reviews.llvm.org/D62105 (detail)
    by dhinton
  12. [X86] EltsFromConsecutiveLoads - clean up element size calcs. NFCI.

    Determine the element/load size calculations earlier and assert that they are whole bytes in size. (detail)
    by rksimon
  13. [LoopRotate + MemorySSA] Keep an <instruction-cloned instruction> map.

    Summary:
    The map kept in loop rotate is used for instruction remapping, in order
    to simplify the clones of instructions. Thus, if an instruction can be
    simplified, its simplified value is placed in the map, even when the
    clone is added to the IR. MemorySSA in contrast needs to know about that
    clone, so it can add an access for it.
    To resolve this: keep a different map for MemorySSA.

    Reviewers: george.burgess.iv

    Subscribers: jlebar, Prazek, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63680 (detail)
    by asbirlea
  14. [ORC] Add custom IR compiler configuration to LLJITBuilder to enable obj caches.

    LLJITBuilder now has a setCompileFunctionCreator method which can be used to
    construct a CompileFunction for the LLJIT instance being created. The motivating
    use-case for this is supporting ObjectCaches, which can now be set up at
    compile-function construction time. To demonstrate this an example project,
    LLJITWithObjectCache, is included. (detail)
    by Lang Hames
  15. [X86] Regenerate tests. NFCI.

    Hasn't been regenerated since the update script could merge 32/64-bit checks. (detail)
    by rksimon
  16. [X86] Add tests for an alternative sequence for _mm_storel_pi/_mm_storeh_pi intrinsics. NFC (detail)
    by ctopper
  17. [TargetLowering] support BlockAddress as "i" inline asm constraint

    Summary:
    This allows passing address of labels to inline assembly "i" input
    constraints.

    Fixes pr/42502.

    Reviewers: ostannard

    Reviewed By: ostannard

    Subscribers: void, echristo, nathanchance, ostannard, javed.absar, hiraditya, llvm-commits, srhines

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64167 (detail)
    by nickdesaulniers
  18. [NFC][InstCombine] Fixup some tests in just-added "omit mask before left-shift" tests (detail)
    by lebedevri
Revision: 365610
Changes
  1. [OPENMP]Remove not used check line from the test, NFC. (detail)
    by abataev
  2. Update libc++ include path detection to use VFS on Linux

    The DetectLibcxxIncludePath function had been using
    llvm::sys::fs::directory_iterator, and this updates it to use
    llvm::vfs::directory_iterator.

    Differential Revision: https://reviews.llvm.org/D64381 (detail)
    by juliehockett
  3. Recommit "[CommandLine] Remove OptionCategory and SubCommand caches from the Option class."

    Previously reverted in 364141 due to buildbot breakage, and fixed here
    by making GeneralCategory global a ManagedStatic.

    Summary:
    This change processes `OptionCategory`s and `SubCommand`s as they
    are seen instead of caching them in the Option class and processing
    them later.  Doing so simplifies the work needed to be done by the Global
    parser and significantly reduces the size of the Option class to a mere 64
    bytes.

    Removing  the `OptionCategory` cache saved 24 bytes, and removing
    the `SubCommand` cache saved an additional 48 bytes, for a total of a
    72 byte reduction.

    Reviewed By: serge-sans-paille

    Tags: #llvm, #clang

    Differential Revision: https://reviews.llvm.org/D62105 (detail)
    by dhinton
  4. [X86] Change the IR sequence for _mm_storeh_pi and _mm_storel_pi to perform the store as a <2 x float> instead of i64.

    This is similar to what we do for loadl_pi and loadh_pi. (detail)
    by ctopper
  5. [X86] Add guards to some of the x86 intrinsic tests to skip 64-bit mode only intrinsics when compiled for 32-bit mode.

    All the command lines are for 64-bit mode, but sometimes I compile
    the tests in 32-bit mode to see what assembly we get and we need
    to skip these to do that. (detail)
    by ctopper
  6. [clang] Preserve names of addrspacecast'ed values.

    Differential Revision: https://reviews.llvm.org/D63846 (detail)
    by vzakhari
Revision: 365610
Changes
  1. [clang-doc] Add a structured HTML generator

    Implements an HTML generator.
    Nodes are used to represent each part of the HTML file. There are TagNodes that
    represent every HTML tag (p, h1, div, ...) and they have children nodes, which
    can be TagNodes or TextNodes (these nodes only have text).
    Proper indentation is rendered within the files generated by tool.
    No styling (CSS) is included.

    Committed on behalf of Diego Astiazarán (diegoaat97@gmail.com)

    Differential Revision: https://reviews.llvm.org/D63857 (detail)
    by juliehockett
  2. Revert "[clangd] Filter out non-governed files from broadcast"

    This reverts commit d5214dfa7b5650745eaeb102857c9e90adb16137.

    It's causing failures, both in our local CI and the PS4 Windows bot.

    http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/26872/steps/test/logs/stdio (detail)
    by ormris
  3. Recommit "[CommandLine] Remove OptionCategory and SubCommand caches from the Option class."

    Previously reverted in 364141 due to buildbot breakage, and fixed here
    by making GeneralCategory global a ManagedStatic.

    Summary:
    This change processes `OptionCategory`s and `SubCommand`s as they
    are seen instead of caching them in the Option class and processing
    them later.  Doing so simplifies the work needed to be done by the Global
    parser and significantly reduces the size of the Option class to a mere 64
    bytes.

    Removing  the `OptionCategory` cache saved 24 bytes, and removing
    the `SubCommand` cache saved an additional 48 bytes, for a total of a
    72 byte reduction.

    Reviewed By: serge-sans-paille

    Tags: #llvm, #clang

    Differential Revision: https://reviews.llvm.org/D62105 (detail)
    by dhinton
Revision: 365610
Changes
  1. [TSan] Fix compiler error on Linux/AArch64 (detail)
    by yln
  2. [TSan] Attempt to fix linker error on Linux/AArch64 (detail)
    by yln

Started by upstream project relay-test-suite-verify-machineinstrs build number 5603
originally caused by:

This run spent:

  • 40 min waiting;
  • 1 hr 10 min build duration;
  • 1 hr 10 min total from scheduled to completion.