Started 2 yr 5 mo ago
Took 24 min on green-dragon-14

Failed Build #287 (Feb 11, 2019 11:56:24 AM)

  • : 353739
  • : 353740
  • : 353737
  • : 346271
  • : 353671
  • : 353712
  1. [COFF, ARM64] Remove definitions for _byteswap library functions

    _byteswap_* functions are are implemented in below file as normal function
    from libucrt.lib and declared in stdlib.h. Define them in intrin.h triggers
    lld error "conflicting comdat type" and "duplicate symbols" which was just
    added to LLD (

    C:\Program Files (x86)\Windows Kits\10\Source\10.0.17763.0\ucrt\stdlib\byteswap.cpp

    Differential Revision: (detail/ViewSVN)
    by tomtan
  2. [MemorySSA] Remove verifyClobberSanity.

    This verification may fail after certain transformations due to
    BasicAA's fragility. Added a small explanation and a testcase that
    triggers the assert in checkClobberSanity (before its removal).
    Addresses PR40509.

    Reviewers: george.burgess.iv

    Subscribers: sanjoy, jlebar, llvm-commits, Prazek

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by asbirlea
  3. Refactor setAlreadyUnrolled() and setAlreadyVectorized().

    Loop::setAlreadyUnrolled() and
    LoopVectorizeHints::setLoopAlreadyUnrolled() both add loop metadata that
    stops the same loop from being transformed multiple times. This patch
    merges both implementations.

    In doing so we fix 3 potential issues:

    * setLoopAlreadyUnrolled() kept the llvm.loop.vectorize/interleave.*
       metadata even though it will not be used anymore. This already caused
       problems such as Change the behavior to the
       one of setAlreadyUnrolled which deletes this loop metadata.

    * setAlreadyUnrolled() used to create a new LoopID by calling
       MDNode::get with nullptr as the first operand, then replacing it by
       the returned references using replaceOperandWith. It is possible
       that MDNode::get would instead return an existing node (due to
       de-duplication) that then gets modified. To avoid, use a fresh
       TempMDNode that does not get uniqued with anything else before
       replacing it with replaceOperandWith.

    * LoopVectorizeHints::matchesHintMetadataName() only compares the
       suffix of the attribute to set the new value for. That is, when
       called with "enable", would erase attributes such as
       "llvm.loop.unroll.enable", "llvm.loop.vectorize.enable" and
       "llvm.loop.distribute.enable" instead of the one to replace.
       Fortunately, function was only called with "isvectorized".

    Differential Revision: (detail/ViewSVN)
    by meinersbur
  4. [NFC] Re-enable XFAILed fuzzer test on iOS (detail/ViewSVN)
    by yln
  5. [InstCombine] Fix matchRotate bug when one operand is a ConstantExpr shift

    This bug seems to be harmless in release builds, but will cause an error in UBSAN
    builds or an assertion failure in debug builds.

    When it gets to this opcode comparison, it assumes both of the operands are BinaryOperators,
    but the prior m_LogicalShift will also match a ConstantExpr. The cast<BinaryOperator> will
    assert in a debug build, or reading an invalid value for BinaryOp from memory with
    ((BinaryOperator*)constantExpr)->getOpcode() will cause an error in a UBSAN build.

    The test I added will fail without this change in debug/UBSAN builds, but not in release.

    Patch by: @AndrewScheidecker (Andrew Scheidecker)

    Differential Revision: (detail/ViewSVN)
    by spatel
  6. [SelectionDAGBuilder] Add restrictions to EmitFuncArgumentDbgValue

    This patch fixes PR40587.

    When a dbg.value instrinsic is emitted to the DAG
    by using EmitFuncArgumentDbgValue the resulting
    DBG_VALUE is hoisted to the beginning of the entry
    block. I think the idea is to be able to locate
    a formal argument already from the start of the
    However, EmitFuncArgumentDbgValue only checked that
    the value that was used to describe a variable was
    originating from a function parameter, not that the
    variable itself actually was an argument to the
    function. So when for example assigning a local
    variable "local" the value from an argument "a",
    the assocated DBG_VALUE instruction would be hoisted
    to the beginning of the function, even if the scope
    for "local" started somewhere else (or if "local"
    was mapped to other values earlier in the function).

    This patch adds some logic to EmitFuncArgumentDbgValue
    to check that the variable being described actually
    is an argument to the function. And that the dbg.value
    being lowered already is in the entry block. Otherwise
    we bail out, and the dbg.value will be handled as an
    ordinary dbg.value (not as a "FuncArgumentDbgValue").

    A tricky situation is when both the variable and
    the value is related to function arguments, but not
    neccessarily the same argument. We make sure that we
    do not describe the same argument more than once as
    a "FuncArgumentDbgValue". This solution works as long
    as opt has injected a "first" dbg.value that corresponds
    to the formal argument at the function entry.

    Reviewers: jmorse, aprantl

    Subscribers: jyknight, hiraditya, fedor.sergeev, dstenb, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by bjope
  7. [LICM&MSSA] Limit store hoisting.

    If there is no clobbering access for a store inside the loop, that store
    can only be hoisted if there are no interfearing loads.
    A more general verification introduced here: there are no loads that are
    not optimized to an access outside the loop.
    Addresses PR40586.

    Reviewers: george.burgess.iv

    Subscribers: sanjoy, jlebar, Prazek, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by asbirlea
  8. [TargetLibraryInfo] Update run time support for Windows

    It seems that the run time for Windows has changed and supports more math
    functions than it used to, especially on AArch64, ARM, and AMD64.

    Fixes PR40541.

    Differential revision: (detail/ViewSVN)
    by evandro
  9. [AArch64][GlobalISel] Add isel support for a couple vector exts/truncs

    Add support for

    - v4s16 <-> v4s32
    - v2s64 <-> v2s32

    And update tests that use them to show that we generate the correct

    Differential Revision: (detail/ViewSVN)
    by paquette
  10. [GlobalISel][AArch64] NFC: Remove unnecessary IR from select-fp-casts.mir

    The IR section in this test doesn't do anything, so there's no point in it
    being there. Since it's redundant, just remove it. (detail/ViewSVN)
    by paquette
  11. [DebugInfo] Fix /usr/lib/debug llvm-symbolizer lookup with relative paths

    rL189250 added a realpath call, and rL352916 because realpath breaks assumptions with some build systems. However, the /usr/lib/debug case has been clarified, falling back to /usr/lib/debug is currently broken if the obj passed in is a relative path. Adding a call to use absolute paths when falling back to /usr/lib/debug fixes that while still not making any realpath assumptions.

    This also adds a --fallback-debug-path command line flag for testing (since we probably can't write to /usr/lib/debug from buildbot environments), but was also verified manually:

    $ rm -f path/to/dwarfdump-test.elf-x86-64
    $ strace llvm-symbolizer --obj=relative/path/to/dwarfdump-test.elf-x86-64.debuglink 0x40113f |& grep dwarfdump

    Lookups went to relative/path/to/dwarfdump-test.elf-x86-64, relative/path/to/.debug/dwarfdump-test.elf-x86-64, and then finally /usr/lib/debug/absolute/path/to/dwarfdump-test.elf-x86-64.

    Reviewers: dblaikie, samsonov

    Reviewed By: dblaikie

    Subscribers: krytarowski, aprantl, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by rupprecht
  12. Attempt to pacify bots more after r353718 and r353725 (detail/ViewSVN)
    by nico
  13. [MCA][Scheduler] Track resources that were found busy when issuing an instruction.

    This is a follow up of r353706. When the scheduler fails to issue a ready
    instruction to the underlying pipelines, it now updates a mask of 'busy resource
    units'. That information will be used in future to obtain the set of
    "problematic" resources in the case of bottlenecks caused by resource pressure.
    No functional change intended. (detail/ViewSVN)
    by adibiagio
  14. Attempt to pacify bots after r353718 (detail/ViewSVN)
    by nico
  15. [PowerPC] Avoid scalarization of vector truncate

    The PowerPC code generator currently scalarizes vector truncates that would fit in a vector register, resulting in vector extracts, scalar operations, and vector merges. This patch custom lowers a vector truncate that would fit in a register to a vector shuffle instead.

    Differential Revision: (detail/ViewSVN)
    by froese
  16. [GlobalISel][AArch64] Select G_FFLOOR

    This teaches the legalizer about G_FFLOOR, and lets us select G_FFLOOR in

    It updates the existing floating point tests, and adds a select-floor.mir test.

    Differential Revision: (detail/ViewSVN)
    by paquette
  17. Recommit "[GlobalISel] Add IRTranslator support for G_FFLOOR"

    After the changes introduced in r353586, this instruction doesn't cause any
    issues for any backend.

    Original review: (detail/ViewSVN)
    by paquette
  18. GlobalISel: Add G_FCANONICALIZE instruction (detail/ViewSVN)
    by arsenm
  19. Make test actually test something (colons were missing) (detail/ViewSVN)
    by nico
  20. [AMDGPU] fix atomic_optimizations_buffer.ll test after DPP combiner was enabled by default.

    Related commits: rL353691, rL353703. (detail/ViewSVN)
    by vpykhtin
  21. [X86] Regenerate insertelement tests

    Add common X86/X64 prefixes (and use X86 instead of X32) (detail/ViewSVN)
    by rksimon
  22. Add recipes for migrating downstream branches of git mirrors

    Add some common recipes for downstream users developing on top of the
    existing git mirrors. These instructions show how to migrate local
    branches to the monorepo.

    Differential Revision: (detail/ViewSVN)
    by greened
  23. Revamp the "[clangd] Format tweak's replacements"

    This patch contains two parts:

    1) reverts commit r353306.
    2) move the format logic out from tweaks, keep tweaks API unchanged.

    Reviewers: sammccall, ilya-biryukov

    Reviewed By: ilya-biryukov

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

    Tags: #clang

    Differential Revision: (detail/ViewSVN)
    by hokein
  24. Fixed header underline in docs.

    + Removed trailing whitespace. (detail/ViewSVN)
    by alexfh
  25. Move some classes into anonymous namespaces. NFC. (detail/ViewSVN)
    by d0k
  26. [clangd] Prefer location from codegen files when merging symbols.

    For example, if an index symbol has location in a .proto file and an AST symbol
    has location in a generated .proto.h file, then we prefer location in .proto
    which is more meaningful to users.

    Also use `mergeSymbols` to get the preferred location between AST location and index location in go-to-def.

    Reviewers: sammccall

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

    Tags: #clang

    Differential Revision: (detail/ViewSVN)
    by ioeric
  27. [tools] Fix python DeprecationWarning: invalid escape sequence

    The python documentation says "it’s highly recommended that you use raw strings for all but the simplest expressions." (

    So do that with the attached patch generated by

        sed -i -e "s/'/'/g" $(git grep -l '')

    The warning can be seen in e.g. python3.7:

        $ python3.7 -Wd
        >>> import re;'\s', '')
        <stdin>:1: DeprecationWarning: invalid escape sequence \s

    Commited on behalf of Marco Falke.
    Differential Revision: (detail/ViewSVN)
    by serge_sans_paille
  28. [MCA] Return a mask of busy resources from method ResourceManager::checkAvailability(). NFCI

    In case of bottlenecks caused by pipeline pressure, we want to be able to
    correctly report the set of problematic pipelines. This is a first step towards
    adding support for bottleneck hints in llvm-mca (see PR37494). No functional
    change intended. (detail/ViewSVN)
    by adibiagio
  29. Make some helper functions static. NFC. (detail/ViewSVN)
    by d0k
  30. [AMDGPU] Remove unused variable (detail/ViewSVN)
    by d0k
  31. [AMDGPU] Fix DPP sequence in atomic optimizer.

    This commit fixes the DPP sequence in the atomic optimizer (which was
    previously missing the row_shr:3 step), and works around a read_register
    exec bug by using a ballot instead.

    Differential Revision: (detail/ViewSVN)
    by sheredom
  32. Revert "[X86][SSE] Generalize X86ISD::BLENDI support to more value types"

    This reverts commit r353610.
    It causes a miscompile visible in macro expansion in a bootstrapped clang. (detail/ViewSVN)
    by sammccall
  33. [analyzer] New checker for detecting usages of unsafe I/O functions

    There are certain unsafe or deprecated (since C11) buffer handling
    functions which should be avoided in safety critical code. They
    could cause buffer overflows. A new checker,
    'security.insecureAPI.DeprecatedOrUnsafeBufferHandling' warns for
    every occurrence of such functions (unsafe or deprecated printf,
    scanf family, and other buffer handling functions, which now have
    a secure variant).

    Patch by Dániel Kolozsvári!

    Differential Revision: (detail/ViewSVN)
    by szelethus
  34. Format isInSystemMacro after D55782 (detail/ViewSVN)
    by maskray
  35. [clangd] Index parameters in function decls

    Reviewers: hokein

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

    Tags: #clang

    Differential Revision: (detail/ViewSVN)
    by kadircet
  36. [clang][Index] Add a knob to index function parameters in declarations

    Parameters in declarations are useful for clangd, so that we can
    provide symbol information for them as well. It also helps clangd to be
    consistent whether a function's definition is accessible or not.

    Reviewers: hokein, akyrtzi

    Subscribers: ilya-biryukov, ioeric, arphaman, cfe-commits

    Tags: #clang

    Differential Revision: (detail/ViewSVN)
    by kadircet
  37. [clangd] Fix broken windows build bots. (detail/ViewSVN)
    by kadircet
  38. [TEST] Add missing opportunity test for PR39673 (detail/ViewSVN)
    by mkazantsev
  39. [ARM] Add v8m.base pattern for add negative imm

    The v8m.base ISA contains movw, which can operate on an unsigned
    16-bit value. Add the pattern that converts an add with a negative
    value, that could fit into 16-bits when negated, into a sub with that
    positive value.

    Differential Revision: (detail/ViewSVN)
    by sam_parker
  40. [AMDGPU] Enable DPP combiner pass by default.

    Related revisions:, (detail/ViewSVN)
    by vpykhtin
  41. [libclang] Add attribute support for 'convergent'.

    This bumps CINDEX_VERSION_MINOR up (to 51).

    Patch by Hsin-Hsiao Lin.

    Differential Revision: (detail/ViewSVN)
    by svenvh
  42. [NFC][ARM] Simplify loop-indexing codegen test

    Remove unnecessary offset checks, CHECK-BASE checks and add some
    extra -NOT checks and TODO comments. (detail/ViewSVN)
    by sam_parker

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

This run spent:

  • 5.8 sec waiting;
  • 24 min build duration;
  • 25 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