Started 1 yr 8 mo ago
Took 9 hr 52 min on green-dragon-13

Success Build #4178 (Jul 22, 2019 2:11:02 PM)

  • : 366737
  • : 366719
  • : 366738
  • : 366676
  • : 364589
  • : 366735
  • : 366290
  • : 366698
  • : 366697
  1. [TSan] Enable fiber tests on iOS simulator

    These tests *do not* work on device, but they *do* work in the

    rdar://53403778 (detail/ViewSVN)
    by yln
  2. Temporarily Revert "[Attributor] Liveness analysis." as it's breaking the build.

    This reverts commit 9285295f75a231dc446fa7cbc10a0a391b3434a5. (detail/ViewSVN)
    by echristo
  3. [Attributor] Liveness analysis.

    Liveness analysis abstract attribute used to indicate which BasicBlocks are dead and can therefore be ignored.
    Right now we are only looking at noreturn calls.

    Reviewers: jdoerfert, uenoku

    Subscribers: hiraditya, llvm-commits

    Differential revision: (detail/ViewSVN)
    by sstefan
  4. [NFC][libc++] Add missing EXPLICIT to pair and tuple synopsis

    The constructors for std::pair and std::tuple have been made conditionally
    explicit, however the synopsis in the headers do not reflect that. (detail/ViewSVN)
    by ldionne
  5. [runtimes] Don't depend on libpthread on Android

    r362048 added support for ELF dependent libraries, but broke Android
    build since Android does not have libpthread. Remove the dependency on
    the Android build.

    Differential Revision: (detail/ViewSVN)
    by kongyi
  6. [X86] When using AND+PACKUS in lowerV16I8Shuffle, generate the build vector directly in v16i8 with the correct 0x00 or 0xFF elements rather than using another VT and bitcasting it.

    The build_vector will become a constant pool load. By using the
    desired type initially, it ensures we don't generate a bitcast
    of the constant pool load which will need to be folded with
    the load.

    While experimenting with another patch, I noticed that when the
    load type and the constant pool type don't match, then
    SimplifyDemandedBits can't handle it. While we should probably
    fix that, this was a simple way to fix the issue I saw. (detail/ViewSVN)
    by ctopper
  7. [NFC][PowerPC]Change ADDIStocHA to ADDIStocHA8 to follow 64-bit naming convention


    Since we are planning to add ADDIStocHA for 32bit in later patch, we decided
    to change 64bit one first to follow naming convention with 8 behind opcode.

    Patch by: Xiangling_L

    Differential Revision: (detail/ViewSVN)
    by jasonliu
  8. [libc++] Set __file_ to 0 in basic_filebuf::close() even if fclose fails

    This issue was detected by ASan in one of our tests. This test manually
    invokes basic_filebuf::cloe(). fclose(__h.release() returned a non-zero
    exit status, so __file_ wasn't set to 0. Later when basic_filebuf
    destructor ran, we would enter the if (__file_) block again leading to
    heap-use-after-free error.

    The POSIX specification for fclose says that independently of the return
    value, fclose closes the underlying file descriptor and any further
    access (including another call to fclose()) to the stream results in
    undefined behavior. This is exactly what happened in our test case.

    To avoid this issue, we have to always set __file_ to 0 independently of
    the fclose return value.

    Differential Revision: (detail/ViewSVN)
    by phosek
  9. [Attributor] NoAlias on return values.

    Porting function return value attribute noalias to attributor.
    This will be followed with a patch for callsite and function argumets.

    Reviewers: jdoerfert

    Subscribers: lebedev.ri, hiraditya, llvm-commits

    Differential Revision: (detail/ViewSVN)
    by sstefan
  10. Stubs out TLOF for AIX and add support for common vars in assembly output.

    Stubs out a TargetLoweringObjectFileXCOFF class, implementing only
    SelectSectionForGlobal for common symbols. Also adds an override of
    EmitGlobalVariable in PPCAIXAsmPrinter which adds a number of defensive errors
    and adds support for emitting common globals. (detail/ViewSVN)
    by sfertile
  11. [SafeStack] Insert the deref after the offset

    While debugging code that uses SafeStack, we've noticed that LLVM
    produces an invalid DWARF. Concretely, in the following example:

      int main(int argc, char* argv[]) {
        std::string value = "";
        printf("%s\n", value.c_str());
        return 0;

    DWARF would describe the value variable as being located at:

      DW_OP_breg14 R14+0, DW_OP_deref, DW_OP_constu 0x20, DW_OP_minus

    The assembly to get this variable is:

      leaq    -32(%r14), %rbx

    The order of operations in the DWARF symbols is incorrect in this case.
    Specifically, the deref is incorrect; this appears to be incorrectly
    re-inserted in repalceOneDbgValueForAlloca.

    With this change which inserts the deref after the offset instead of
    before it, LLVM produces correct DWARF:

      DW_OP_breg14 R14-32

    Differential Revision: (detail/ViewSVN)
    by phosek
  12. WholeProgramDevirt: Teach the pass to respect the global's alignment.

    The bytes inserted before an overaligned global need to be padded according
    to the alignment set on the original global in order for the initializer
    to meet the global's alignment requirements. The previous implementation
    that padded to the pointer width happened to be correct for vtables on most
    platforms but may do the wrong thing if the vtable has a larger alignment.

    This issue is visible with a prototype implementation of HWASAN for globals,
    which will overalign all globals including vtables to 16 bytes.

    There is also no padding requirement for the bytes inserted after the global
    because they are never read from nor are they significant for alignment
    purposes, so stop inserting padding there.

    Differential Revision: (detail/ViewSVN)
    by pcc
  13. [PowerPC] Fix comment on MO_PLT Target Operand Flag. [NFC]

    Patch by Xiangling Liao. (detail/ViewSVN)
    by sfertile
  14. [Object][XCOFF] Remove extra includes from XCOFF related files. [NFC]

    Differential Revision: (detail/ViewSVN)
    by sfertile
  15. LowerTypeTests: Teach the pass to respect global alignments.

    We were previously ignoring alignment entirely when combining globals
    together in this pass. There are two main things that we need to do here:
    add additional padding before each global to meet the alignment requirements,
    and set the combined global's alignment to the maximum of all of the original
    globals' alignments.

    Since we now need to calculate layout as we go anyway, use the calculated
    layout to produce GlobalLayout instead of using StructLayout.

    Differential Revision: (detail/ViewSVN)
    by pcc
  16. Changes to emit CodeView debug info nested type records properly using MCStreamer directives (detail/ViewSVN)
    by nilanjana_basu
  17. Adds support for formatting NS_CLOSED_ENUM and CF_CLOSED_ENUM alongside NS_ENUM and CF_ENUM.

    Addresses the formatting of NS_CLOSED_ENUM and CF_CLOSED_ENUM, introduced in Swift 5.


    typedef NS_CLOSED_ENUM(NSInteger, Foo){FooValueOne = 1, FooValueTwo,


    typedef NS_CLOSED_ENUM(NSInteger, Foo) {
      FooValueOne = 1,

    Contributed by heijink.

    Reviewers: benhamilton, krasimir

    Reviewed By: benhamilton

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: (detail/ViewSVN)
    by benhamilton
  18. [AMDGPU] Test update. NFC. (detail/ViewSVN)
    by rampitec
  19. [SLPVectorizer] Fix some MSVC/cppcheck uninitialized variable warnings. NFCI. (detail/ViewSVN)
    by rksimon
  20. Revert "Reland [ELF] Loose a condition for relocation with a symbol"

    This reverts commit r366686 as it appears to be causing buildbot
    failures on sanitizer-x86_64-linux-android and sanitizer-x86_64-linux. (detail/ViewSVN)
    by vlad.tsyrklevich
  21. [OPENMP][MSVC]Enable /openmp[:experimental] to compile OpenMP.

    Mapped /openmp[:experimental] to -fopenmp option and /openmp- option to
    -fno-openmp (detail/ViewSVN)
    by abataev
  22. [libc++] Do not infer support for C++17 in GCC < 7

    libc++'s lit configuration infers the C++ language dialect when it is
    not provided by checking which -std= flags that a compiler supports.
    GCC 5 and GCC 6 have a -std=c++17 flag, however, they do not have full
    C++17 support. The lit configuration has hardcoded logic that removes
    -std=c++1z as an option to test for GCC < 7, but not -std=c++17.

    This leads to a bunch of failures when running libc++ tests with GCC 5
    or GCC 6. This patch adds -std=c++17 to the list of flags that are
    discarded for GCC < 7 by lit's language dialect inference.

    Thanks to Bryce Adelstein Lelbach for the patch.

    Differential Revision: (detail/ViewSVN)
    by ldionne
  23. [X86] Remove const from some intrinsics that shouldn't have them (detail/ViewSVN)
    by probinson
  24. [clangd] Add dlog()s for SelectionTree, enabling -debug-only=SelectionTree.cpp

    SelectionTree is a RecursiveASTVisitor which processes getSourceRange() for
    every node. This is a lot of surface area with the AST, as getSourceRange()
    is specialized for *many* node types.
    And the resulting SelectionTree depends on the source ranges of many
    visited nodes, and the order of traversal.

    Put together, this means we really need a traversal log to debug when we
    get an unexpected SelectionTree. I've built this ad-hoc a few times, now
    it's time to check it in.

    Example output:
    D[14:07:44.184] Computing selection for </usr/local/google/home/sammccall/, col:8>
    D[14:07:44.184]  push: VarDecl const auto x = 42
    D[14:07:44.184]   claimRange: </usr/local/google/home/sammccall/, col:13>
    D[14:07:44.184]   push: NestedNameSpecifierLoc (empty NestedNameSpecifierLoc)
    D[14:07:44.184]   pop: NestedNameSpecifierLoc (empty NestedNameSpecifierLoc)
    D[14:07:44.184]   push: QualifiedTypeLoc const auto
    D[14:07:44.184]   pop: QualifiedTypeLoc const auto
    D[14:07:44.184]    claimRange: </usr/local/google/home/sammccall/, col:11>
    D[14:07:44.184]    hit selection: </usr/local/google/home/sammccall/, col:8>
    D[14:07:44.184]   skip: IntegerLiteral 42
    D[14:07:44.184]    skipped range = </usr/local/google/home/sammccall/>
    D[14:07:44.184]  pop: VarDecl const auto x = 42
    D[14:07:44.184]   claimRange: </usr/local/google/home/sammccall/, col:18>
    D[14:07:44.184]  skip: VarDecl int y = 43
    D[14:07:44.184]   skipped range = </usr/local/google/home/sammccall/, col:9>
    D[14:07:44.184] Built selection tree
      VarDecl const auto x = 42
         .QualifiedTypeLoc const auto


    Reviewers: hokein

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

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by sammccall
  25. [Polly] Clang complains about missing virtual destructor

    Summary: Feel free to reassign if needed.

    Reviewers: mhalk, bollu, jdoerfert

    Reviewed By: jdoerfert

    Subscribers: jdoerfert, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by gchatelet
  26. Update c++2a status page with post-Cologne information (detail/ViewSVN)
    by marshall
  27. TableGen: Support physical register inputs > 255

    This was truncating register value that didn't fit in unsigned char.
    Switch AMDGPU sendmsg intrinsics to using a tablegen pattern. (detail/ViewSVN)
    by arsenm
  28. [NFC] Relaxed regression tests for PR42665

    Following up on the buildbot failures, this commits relaxes some tests:
    instead of checking for specific IR output, it now ensures that the
    underlying issue (the crash), and only that, doesn't happen. (detail/ViewSVN)
    by mantognini
  29. [ARM][LowOverheadLoops] Revert remaining pseudos

    ARMLowOverheadLoops would assert a failure if it did not find all the
    pseudo instructions that comprise the hardware loop. Instead of doing
    this, iterate through all the instructions of the function and revert
    any remaining pseudo instructions that haven't been converted.

    Differential Revision: (detail/ViewSVN)
    by sam_parker
  30. [OPENMP]Add support for analysis of firstprivate variables.

    Firstprivate variables are the variables, for which the private copies
    must be created in the OpenMP regions and must be initialized with the
    original values. Thus, we must report if the uninitialized variable is
    used as firstprivate.

    Reviewers: NoQ

    Subscribers: guansong, jdoerfert, caomhin, kkwli0, cfe-commits

    Tags: #clang

    Differential Revision: (detail/ViewSVN)
    by abataev
  31. AMDGPU/GlobalISel: Fix broken tests (detail/ViewSVN)
    by arsenm
  32. Update documentation for all CERT checks that correspond to a recommendation.

    CERT removed their C++ secure coding recommendations from public view and so the links within that documentation are stale. This updates various pieces of documentation to make this more clear, and to help add substance where our docs deferred to CERT's wiki. (detail/ViewSVN)
    by aaronballman
  33. Reland [ELF] Loose a condition for relocation with a symbol

    This patch was not the reason of the buildbot failure.

    Deleted code was introduced as a work around for a bug in the gold linker
    ( Test case that was given as a reason for
    this part of code, the one on previous link, now works for the gold.
    This condition is too strict and when a code is compiled with debug info
    it forces generation of numerous relocations with symbol for architectures
    that do not have relocation addend.

    Reviewers: arsenm, espindola

    Reviewed By: MaskRay

    Differential Revision: (detail/ViewSVN)
    by nikolaprica
  34. AMDGPU/GlobalISel: Remove unnecessary code

    The minnum/maxnum case are dead, and the cvt is handled by the
    default. (detail/ViewSVN)
    by arsenm
  35. [ARM] Fix for MVE VPT block pass

    We need to ensure that the number of T's is correct when adding multiple
    instructions into the same VPT block.

    Differential revision: (detail/ViewSVN)
    by dmgreen
  36. Updated the signature for some stack related intrinsics (CLANG)

    Modified the intrinsics
    int_frameaddress & int_sponentry.
    This commit depends on the changes in rL366679

    Reviewed By: arsenm

    Differential Revision: (detail/ViewSVN)
    by cdevadas
  37. Revert the change to the [[nodiscard]] feature test macro value.

    This value only gets bumped once both P1301 and P1771 are implemented. (detail/ViewSVN)
    by aaronballman
  38. [X86] EltsFromConsecutiveLoads - support common source loads (REAPPLIED)

    This patch enables us to find the source loads for each element, splitting them into a Load and ByteOffset, and attempts to recognise consecutive loads that are in fact from the same source load.

    A helper function, findEltLoadSrc, recurses to find a LoadSDNode and determines the element's byte offset within it. When attempting to match consecutive loads, byte offsetted loads then attempt to matched against a previous load that has already been confirmed to be a consecutive match.

    Next step towards PR16739 - after this we just need to account for shuffling/repeated elements to create a vector load + shuffle.

    Fixed out of bounds load assert identified in rL366501

    Differential Revision: (detail/ViewSVN)
    by rksimon
  39. AMDGPU/GlobalISel: Fix tests without asserts

    The legality check is only done under NDEBUG, so the failure cases are
    different in a release build. (detail/ViewSVN)
    by arsenm
  40. Added address-space mangling for stack related intrinsics

    Modified the following 3 intrinsics:
    int_frameaddress & int_sponentry.

    Reviewed By: arsenm

    Differential Revision: (detail/ViewSVN)
    by cdevadas
  41. [X86][SSE] Add EltsFromConsecutiveLoads test case identified in rL366501

    Test case that led to rL366441 being reverted at rL366501 (detail/ViewSVN)
    by rksimon
  42. [yaml2obj] - Change how we handle implicit sections.

    Instead of having the special list of implicit sections,
    that are mixed with the sections read from YAML on late
    stages, I just create the placeholders and add them to
    the main sections list early.

    That allows to significantly simplify the code.

    Differential revision: (detail/ViewSVN)
    by grimar
  43. [ARM][test] Improve tests

    Delete trailing 2>&1 that is not piped to another command.
    Add --no-show-raw-insn to objdump -d commands. (detail/ViewSVN)
    by maskray
  44. [clangd] Set buffer name for main file. NFCI (detail/ViewSVN)
    by sammccall
  45. [clangd] Log input code of failed highlighting tests. NFC (detail/ViewSVN)
    by ibiryukov
  46. [AST] Treat semantic form of InitListExpr as implicit code in traversals

    In particular, do not traverse the semantic form if shouldVisitImplicitCode()
    returns false.

    This simplifies the common case of traversals, avoiding the need to
    worry about some expressions being traversed twice.

    No tests break after the change, the change would allow to simplify at
    least one of the usages, i.e. r366070 which had to handle this in

    Reviewers: gribozavr

    Reviewed By: gribozavr

    Subscribers: kadircet, cfe-commits

    Tags: #clang

    Differential Revision: (detail/ViewSVN)
    by ibiryukov
  47. Add location of SVN staging dir to git-llvm error output

    In pre-monorepo times the svn staging directory was `.git/svn`. The below error message wasn't mentioning the new name yet.

    Example before:
    Can't push git rev 104cfa289d9 because svn status is not empty:
    !     llvm/trunk/include/llvm

    Example after:
    Can't push git rev 104cfa289d9 because status in svn staging dir (.git/llvm-upstream-svn) is not empty:
    !     llvm/trunk/include/llvm

    Reviewers: mehdi_amini, jlebar, teemperor

    Reviewed By: mehdi_amini

    Subscribers: llvm-commits, #llvm

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by stefan.graenitz
  48. [OpenCL] Improve destructor support in C++ for OpenCL

    This re-applies r366422 with a fix for Bug PR42665 and a new regression
    test. (detail/ViewSVN)
    by mantognini
  49. [IPRA][ARM] Make use of the "returned" parameter attribute

    ARM has code to recognise uses of the "returned" function parameter
    attribute which guarantee that the value passed to the function in r0
    will be returned in r0 unmodified. IPRA replaces the regmask on call
    instructions, so needs to be told about this to avoid reverting the

    Differential revision: (detail/ViewSVN)
    by ostannard
  50. [llvm-readobj] - Stop using precompiled objects in file-headers.test

    This converts all sub-tests except one to YAML instead of precompiled inputs.

    Differential revision: (detail/ViewSVN)
    by grimar
  51. [AMDGPU] Save some work when an atomic op has no uses

    In the atomic optimizer, save doing a bunch of work and generating a
    bunch of dead IR in the fairly common case where the result of an
    atomic op (i.e. the value that was in memory before the atomic op was
    performed) is not used. NFC.

    Reviewers: arsenm, dstuttard, tpr

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

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by foad
  52. [PowerPC][NFC] Precommit a test case where ppc-mi-peepholes miscompiles extswsli

    Added a test case to show codegen differences. (detail/ViewSVN)
    by lkail
  53. [Loop Peeling] Fix the handling of branch weights of peeled off branches.

    Current algorithm to update branch weights of latch block and its copies is
    based on the assumption that number of peeling iterations is approximately equal
    to trip count.

    However it is not correct. According to profitability check in one case we can decide to peel
    in case it helps to reduce the number of phi nodes. In this case the number of peeled iteration
    can be less then estimated trip count.

    This patch introduces another way to set the branch weights to peeled of branches.
    Let F is a weight of the edge from latch to header.
    Let E is a weight of the edge from latch to exit.
    F/(F+E) is a probability to go to loop and E/(F+E) is a probability to go to exit.
    Then, Estimated TripCount = F / E.
    For I-th (counting from 0) peeled off iteration we set the the weights for
    the peeled latch as (TC - I, 1). It gives us reasonable distribution,
    The probability to go to exit 1/(TC-I) increases. At the same time
    the estimated trip count of remaining loop reduces by I.

    As a result after peeling off N iteration the weights will be
    (F - N * E, E) and trip count of loop becomes
    F / E - N or TC - N.

    The idea is taken from the review of the patch D63918 proposed by Philip.

    Reviewers: reames, mkuper, iajbar, fhahn
    Reviewed By: reames
    Subscribers: hiraditya, zzheng, llvm-commits
    Differential Revision: (detail/ViewSVN)
    by skatkov
  54. [utils] Clean up UpdateTestChecks/ (detail/ViewSVN)
    by maskray
  55. [analyzer] Fix -Wunused-function in NDEBUG builds with #ifdef LLVM_DUMP_METHOD (detail/ViewSVN)
    by maskray
  56. [InstCombine] Add foldAndOfICmps test cases inspired by PR42691.

    icmp ne %x, INT_MIN can be treated similarly to icmp sgt %x, INT_MIN.
    icmp ne %x, INT_MAX can be treated similarly to icmp slt %x, INT_MAX.
    icmp ne %x, UINT_MAX can be treated similarly to icmp ult %x, UINT_MAX.

    We already treat icmp ne %x, 0 similarly to icmp ugt %x, 0 (detail/ViewSVN)
    by ctopper

Started by upstream project "clang-stage1-configure-RA" build number 58,161
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,162
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,163
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,164
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,165
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,166
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,167
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,168
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,169
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,170
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,171
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,172
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,173
originally caused by:

Started by upstream project "clang-stage1-configure-RA" build number 58,174
originally caused by:

This run spent:

  • 19 hr waiting;
  • 9 hr 52 min build duration;
  • 1 day 5 hr total from scheduled to completion.
LLVM/Clang Warnings: 2 warnings.