Started 2 mo 13 days ago
Took 5 hr 23 min on green-dragon-13

Failed Build #6460 (Jul 10, 2019 6:35:02 PM)

  • : 365717
  • : 365716
  • : 365707
  • : 364589
  • : 365562
  • : 365713
  1. [AMDGPU] gfx908 atomic fadd and atomic pk_fadd

    Differential Revision: (detail)
    by rampitec
  2. [CGDebugInfo] Fix -femit-debug-entry-values crash on os_log_helpers

    An os_log_helper FunctionDecl may not have a body. Ignore these for the
    purposes of debug entry value emission.

    Fixes an assertion failure seen in a stage2 build of clang:

    Assertion failed: (FD->hasBody() && "Functions must have body here"),
    function analyzeParametersModification (detail)
    by Vedant Kumar
  3. [AMDGPU] gfx908 dot instruction support

    Differential Revision: (detail)
    by rampitec
  4. Attempt to fix bots after r365703 (detail)
    by nico
  5. rL365634 adds a unique_ptr<CompilationDatabase> in GobalCompilationDatabase.h:108 but CompilationDatabase is only forward declared. This makes the header not compile standalone, because unique_ptrs expect to have the full-definition of the...

    ...template argument.

    Remove the forward declaration and include the appropriate header instead.
    Remove CompileCommand too, which is also in the header. (detail)
    by saugustine
  6. Revert [llvm-objcopy] Allow strip symtab from executables and DSOs

    This reverts r365193 (git commit 194f16b3548bcb23a7f0fd638778ed72edd18d37)

    This patch doesn't work with binaries built w/ `--emit-relocs`, e.g.

    $ echo 'int main() { return 0; }' | clang -Wl,--emit-relocs -x c - -o foo && llvm-objcopy --strip-unneeded foo
    llvm-objcopy: error: 'foo': not stripping symbol '__gmon_start__' because it is named in a relocation
    ``` (detail)
    by rupprecht
  7. [SDAG] commute setcc operands to match a subtract

    If we have:

    R = sub X, Y
    P = cmp Y, X

    ...then flipping the operands in the compare instruction can allow using a subtract that sets compare flags.

    Motivated by diffs in D58875 - not sure if this changes anything there,
    but this seems like a good thing independent of that.

    There's a more involved version of this transform already in IR (in instcombine
    although that seems misplaced to me) - see "swapMayExposeCSEOpportunities()".

    Differential Revision: (detail)
    by spatel
  8. Add IsBytewiseValue unit test

    Subscribers: llvm-commits

    Tags: #llvm

    Differential Revision: (detail)
    by Vitaly Buka
  9. NFC: Pass DataLayout into isBytewiseValue

    We will need to handle IntToPtr which I will submit in a separate patch as it's
    not going to be NFC.

    Reviewers: eugenis, pcc

    Reviewed By: eugenis

    Subscribers: hiraditya, cfe-commits, llvm-commits

    Tags: #clang, #llvm

    Differential Revision: (detail)
    by Vitaly Buka
  10. NFC: Convert large lambda into method

    Reviewers: pcc, eugenis

    Reviewed By: eugenis

    Subscribers: cfe-commits, lldb-commits

    Tags: #clang, #lldb

    Differential Revision: (detail)
    by Vitaly Buka
  11. [TSan] Fix linker error on Linux/AArch64 (detail)
    by yln
  12. GodeGen, NFC: Add test to track emitStoresForConstant behavior

    Reviewers: eugenis, pcc

    Reviewed By: eugenis

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: (detail)
    by Vitaly Buka
  13. [X86] Add patterns with and_flag_nocf for BLSI and TBM instructions.

    Fixes similar issues to r352306. (detail)
    by ctopper
  14. [X86] Add a few more TBM and BLSI test cases that show the same issue that r352306 fixed for BLSR. (detail)
    by ctopper
  15. driver: Don't warn about assembler flags being unused when not assembling

    clang currently warns when passing flags for the assembler (e.g.
    -Wa,-mbig-obj) to an invocation that doesn't run the assembler (e.g.

    At first sight, that makes sense -- the flag really is unused. But many
    other flags don't have an effect if no assembler runs (e.g.
    -fno-integrated-as, -ffunction-sections, and many others), and those
    currently don't warn. So this seems more like a side effect of how
    CollectArgsForIntegratedAssembler() is implemented than like an
    intentional feature.

    Since it's a bit inconvenient when debugging builds and adding -E,
    always call CollectArgsForIntegratedAssembler() to make sure assembler
    args always get claimed. Currently, this affects only these flags:
    -mincremental-linker-compatible, -mimplicit-it= (on ARM), -Wa, -Xassembler

    It does have the side effect that assembler options now need to be valid
    even if -E is passed. Previously, `-Wa,-mbig-obj` would error for
    non-coff output only if the assembler ran, now it always errors. This
    too makes assembler flags more consistent with all the other flags and
    seems like a progression.

    Fixes PR42066.

    Differential Revision: (detail)
    by nico
  16. [X86] Add BLSR and BLSMSK to isUseDefConvertible.

    Unfortunately subo formation in CGP prevents obvious ways of
    testing this.

    But we already have BLSI in here and the flag behavior is
    well understood.

    Might become more useful if we improve PR42571. (detail)
    by ctopper
  17. [NFC]Fix IR/MC depency issue for function descriptor SDAG implementation

    Summary: llvm/IR/GlobalValue.h can't be included in MC, that creates a circular dependency between MC and IR libraries. This circular dependency is causing an issue for build system that enforce layering.

    Author: Xiangling_L

    Reviewers: sfertile, jasonliu, hubert.reinterpretcast, gribozavr

    Reviewed By: gribozavr

    Subscribers: wuzish, nemanjai, hiraditya, kbarton, MaskRay, jsji, llvm-commits

    Tags: #llvm

    Differential Revision: (detail)
    by daltenty
  18. [clang-scan-deps] Dependency directives source minimizer:
    single quotes are not digit separators after a valid character literal prefix

    The single quote character can act as a c++ digit separator.
    However, the minimizer shouldn't treat it as such when it's actually following
    a valid character literal prefix, like L, U, u, or u8.

    Differential Revision: (detail)
    by arphaman
  19. [Concepts] Concept definitions (D40381)

    First in a series of patches to land C++2a Concepts support.
    This patch adds AST and parsing support for concept-declarations. (detail)
    by saar.raz
  20. [X86] Remove unused variable. NFC (detail)
    by ctopper
  21. My first test commit. (detail)
    by saar.raz
  22. [NFC][InstCombine] Comb through just-added "omit mask before left-shift" tests once more (detail)
    by lebedevri
  23. [TSan] Fix compiler error on Linux/AArch64 (detail)
    by yln
  24. Add support for building with Python 3

    LLDB supports Python 3 now.

    Differential Revision:

    Patch from Christian Biesinger <>! (detail)
    by nico
  25. [OPENMP]Remove not used check line from the test, NFC. (detail)
    by abataev
  26. [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: (detail)
    by aemerson
  27. gn build: Merge r365687 (detail)
    by nico
  28. [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 (

    Differential Revision: (detail)
    by juliehockett
  29. 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
  30. [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: (detail)
    by paquette
  31. [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

    Differential Revision: (detail)
    by paquette
  32. 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

    Differential Revision: (detail)
    by juliehockett
  33. [TSan] Attempt to fix linker error on Linux/AArch64 (detail)
    by yln
  34. Revert "[System Model] [TTI] Update cache and prefetch TTI interfaces"

    This broke some PPC prefetching tests.

    This reverts commit 9fdfb045ae8bb643ab0d0455dcf9ecaea3b1eb3c. (detail)
    by greened
  35. 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: (detail)
    by mcberg2017
  36. 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. (detail)
    by ormris
  37. [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
    - 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: (detail)
    by greened
  38. 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.

    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

    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: (detail)
    by dhinton
  39. [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
  40. [LoopRotate + MemorySSA] Keep an <instruction-cloned instruction> map.

    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: (detail)
    by asbirlea
  41. [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
  42. [X86] Regenerate tests. NFCI.

    Hasn't been regenerated since the update script could merge 32/64-bit checks. (detail)
    by rksimon
  43. [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
  44. [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
  45. [X86] Add tests for an alternative sequence for _mm_storel_pi/_mm_storeh_pi intrinsics. NFC (detail)
    by ctopper
  46. [clang] Preserve names of addrspacecast'ed values.

    Differential Revision: (detail)
    by vzakhari
  47. [TargetLowering] support BlockAddress as "i" inline asm constraint

    This allows passing address of labels to inline assembly "i" input

    Fixes pr/42502.

    Reviewers: ostannard

    Reviewed By: ostannard

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

    Tags: #llvm

    Differential Revision: (detail)
    by nickdesaulniers
  48. [NFC][InstCombine] Fixup some tests in just-added "omit mask before left-shift" tests (detail)
    by lebedevri
  49. MC: AArch64: Add support for pg_hi21_nc relocation specifier.

    Differential Revision: (detail)
    by pcc
  50. [CodeExtractor] Fix sinking of allocas with multiple bitcast uses (PR42451)

    An alloca which can be sunk into the extraction region may have more
    than one bitcast use. Move these uses along with the alloca to prevent

    Testing: check-llvm, stage2 build of clang


    Differential Revision: (detail)
    by Vedant Kumar
  51. [CodeExtractor] Simplify findAllocas, NFC

    Split getLifetimeMarkers out into its own method and have it return a

    Differential Revision: (detail)
    by Vedant Kumar
  52. GlobalISel: Legalization for G_FMINNUM/G_FMAXNUM (detail)
    by arsenm
  53. GlobalISel: Define the full family of FP min/max instructions (detail)
    by arsenm
  54. [X86] EltsFromConsecutiveLoads - remove duplicate check for element size. NFCI.

    We've already checked that each element is the correct contributory size for VT when we inspect the elements for Undef/Zero/Load. (detail)
    by rksimon
  55. [X86] EltsFromConsecutiveLoads - ensure element reg/store sizes are the same size. NFCI.

    This renames the type so it doesn't sound like its based off the load size - as we're moving towards supporting combining loads of different sizes. (detail)
    by rksimon
  56. AMDGPU: Serialize mode from MachineFunctionInfo (detail)
    by arsenm
  57. [PatternMatch] Generalize m_SpecificInt_ULT() to take ICmpInst::Predicate

    As discussed in the original review, this may be useful,
    so let's just do it. (detail)
    by lebedevri
  58. [Remarks] Add cl::Hidden to -remarks-yaml-string-table

    It was showing up in a lot of unrelated tools. (detail)
    by thegameg
  59. docs/GithubMove.rst: Remove obsolete information

    Remove references to the multirepo and update the document to
    reflect the current state of the github repository.

    Reviewers: mehdi_amini, jyknight

    Subscribers: jdoerfert, llvm-commits

    Tags: #llvm

    Differential Revision: (detail)
    by tstellar
  60. [FileCheck] Use bool operator to test Expected

    Use bool() consistently to get boolean value of Error, Optional and
    Expected types in EXPECT calls. While static_cast is used in all cases
    but one, bool provides more clarity and makes more sense as a new
    default. (detail)
    by thopre
  61. [AMDGPU] Increased the number of implicit argument bytes for both OpenCL and HIP (CLANG).

    To enable a new implicit kernel argument,
    increased the number of argument bytes from 48 to 56.

    Reviewed By: yaxunl

    Differential Revision: (detail)
    by cdevadas
  62. [NFC][InstCombine] Redundant masking before left-shift (PR42563)

    alive proofs:

    Indeed, not all of these patterns are canonical.
    But since this fold will only produce a single instruction
    i'm really interested in handling even uncanonical patterns.

    Other than these 6 patterns, i can't think of any other
    reasonable variants right now, although i'm sure they exist.

    For now let's start with patterns where both shift amounts are variable,
    with trivial constant "offset" between them, since i believe this is
    both simplest to handle and i think this is most common.
    But again, there are likely other variants where we could use
    ValueTracking/ConstantRange to handle more cases. (detail)
    by lebedevri
  63. [AMDGPU] Allow abs/neg source modifiers on v_cndmask_b32

    D59191 added support for these modifiers in the assembler and
    disassembler. This patch just teaches instruction selection that it can
    use them.

    Reviewers: arsenm, tstellar

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

    Tags: #llvm

    Differential Revision: (detail)
    by foad
  64. [analyzer]Add user docs rst

    Add user documentation page. This is an empty page atm, later patches will add
    the specific user documentatoins.

    Reviewers: dkrupp

    Subscribers: whisperity, xazax.hun, baloghadamsoftware, szepet, rnkovacs, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, gamesh411, Charusso, cfe-commits

    Tags: #clang

    Differential Revision: (detail)
    by martong
  65. Remove two unused member variables.

    They were added over 10 years ago in r66575 and have never been used as
    far as I can tell.

    (r67087 added similar fields to Compilation, and those are used.) (detail)
    by nico
  66. [InstCombine] pow(C,x) -> exp2(log2(C)*x)



    if C > 0, C != inf, C != NaN (and C is not power of 2, since we have some fold for such case already).

    log(C) is folded by the compiler and exp2 is much faster to compute than pow.

    Reviewers: spatel, efriedma, evandro

    Reviewed By: evandro

    Subscribers: lebedev.ri, llvm-commits

    Tags: #llvm

    Differential Revision: (detail)
    by xbolva00
  67. [InferFunctionAttrs] add/adjust tests for dereferenceable; NFC

    Based on review comments for D64258. (detail)
    by spatel
  68. [clangd] Filter out non-governed files from broadcast

    This also turns off implicit discovery of additional compilation

    Reviewers: sammccall

    Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits

    Tags: #clang

    Differential Revision: (detail)
    by kadircet

Started by upstream project clang-stage2-cmake-RgSan_relay build number 1176
originally caused by:

This run spent:

  • 1 ms waiting;
  • 5 hr 23 min build duration;
  • 5 hr 23 min total from scheduled to completion.

Identified problems

Ninja target failed

Below is a link to the first failed ninja target.
Indication 1

Missing test results

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