Started 1 mo 3 days ago
Took 17 hr on green-dragon-08

Failed Build #5480 (Sep 17, 2019 2:01:56 AM)

  • : 372083
  • : 372082
  • : 372056
  • : 364589
  • : 372034
  • : 372074
  1. [llvm-readobj] - Refactor the code.

    It's a straightforward refactoring that allows to simplify and encapsulate the code.

    Differential revision: (detail/ViewSVN)
    by grimar
  2. [Clang] Pragma vectorize_width() implies vectorize(enable)

    Specifying the vectorization width was supposed to implicitly enable
    vectorization, except that it wasn't really doing this. It was only
    setting the vectorize.width metadata, but not vectorize.enable.

    This should fix PR27643.

    Differential Revision: (detail/ViewSVN)
    by sjoerdmeijer
  3. [llvm-objcopy] - Remove python invocations from 2 test cases.

    It is possible to use yaml2obj to create sections with overlapping sh_offset now.
    This patch does that.

    Differential revision: (detail/ViewSVN)
    by grimar
  4. [RISCV] Add option aliases: -mcmodel=medany and -mcmodel=medlow

    RISC-V GCC use -mcmodel=medany and -mcmodel=medlow, but LLVM use
    -mcmodel=small and -mcmodel=medium.

    Add those two option aliases for provide same user interface between
    GCC and LLVM.

    Reviewed By: lenary

    Differential Revision: (detail/ViewSVN)
    by kito
  5. [bugpoint] Add support for -Oz and properly enable -Os.

    This patch adds -Oz as option and also properly enables support for -Os.
    Currently, the existing check for -Os is dead, because the enclosing if
    only checks of O1, O2 and O3.

    There is still a difference between the -Oz pipeline compared to opt,
    but I have not been able to track that down yet.

    Reviewers: bogner, sebpop, efriedma

    Reviewed By: efriedma

    Differential Revision: (detail/ViewSVN)
    by fhahn
  6. [RISCV] Define __riscv_cmodel_medlow and __riscv_cmodel_medany correctly

    RISC-V LLVM was only implement small/medlow code model, so it defined
    __riscv_cmodel_medlow directly without check.

    Now, we have medium/medany code model in RISC-V back-end, it should
    define according the actually code model.

    Reviewed By: lewis-revill

    Differential Revision: (detail/ViewSVN)
    by kito
  7. [ARM][MVE] Add invalidForTailPredication to TSFlags

    Set this bit for the MVE reduction instructions to prevent a loop from
    becoming tail predicated in their presence.

    Differential Revision: (detail/ViewSVN)
    by sam_parker
  8. [Attributor] Use Alias Analysis in noalias callsite argument deduction

    Summary: This patch adds a check of alias analysis in `noalias` callsite argument deduction.

    Reviewers: jdoerfert, sstefan1

    Reviewed By: jdoerfert

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by uenoku
  9. [clangd] Remove stale comment. NFC (detail/ViewSVN)
    by ibiryukov
  10. [Attributor] Create helper struct for handling analysis getters

    Summary: This patch introduces a helper struct `AnalysisGetter` to put together analysis getters. In this patch, a getter for `AAResult` is also added for  `noalias`.

    Reviewers: jdoerfert, sstefan1

    Reviewed By: jdoerfert

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by uenoku
  11. [git-llvm] Do not reinvent `@{upstream}` (take 2)

    This makes git-llvm more of a thin wrapper around git while temporarily
    maintaining backwards compatibility with past git-llvm behavior.

    Using @{upstream} makes git-llvm more robust when used with a nontrivial
    local repository. (detail/ViewSVN)
    by davezarzycki
  12. [X86] Split oversized vXi1 vector arguments and return values into scalars on avx512 targets.

    Previously we tried to split them into narrower v64i1 or v16i1
    pieces that each got promoted to vXi8 and then passed in a zmm
    or xmm register. But this crashes when you need to pass more
    pieces than available registers reserved for argument passing.

    The scalarizing done here generates much longer and slower code,
    but is consistent with the behavior of avx2 and earlier targets
    for these types.

    Fixes PR43323. (detail/ViewSVN)
    by ctopper
  13. [X86] Allow masked VBROADCAST instructions to be turned into BLENDM with a broadcast load to avoid a copy.

    The BLENDM instructions allow an 2 sources and an independent
    destination while masked VBROADCAST has the destination tied
    to the source. (detail/ViewSVN)
    by ctopper
  14. [X86] Add support for commuting EVEX VCMP instructons with any immediate value.

    Previously we limited to the EQ/NE/TRUE/FALSE/ORD/UNORD immediates. (detail/ViewSVN)
    by ctopper
  15. [X86] Add test case for missed opportunity to commute a VCMP instruction after unfolding one load in order to fold another load. (detail/ViewSVN)
    by ctopper
  16. [X86] Enable commuting of EVEX VCMP for all immediate values during isel. (detail/ViewSVN)
    by ctopper
  17. Fix reliance on -flax-vector-conversions in AVX intrinsics headers and
    corresponding tests. (detail/ViewSVN)
    by rsmith
  18. Fix reliance on lax vector conversions in tests for x86 intrinsics. (detail/ViewSVN)
    by rsmith
  19. Remove reliance on lax vector conversions from altivec.h in VSX mode. (detail/ViewSVN)
    by rsmith
  20. Push lambda scope earlier when transforming lambda expression

    Differential Revision: (detail/ViewSVN)
    by comex
  21. [libFuzzer] Always print DSO map on Fuchsia libFuzzer launch

    Fuchsia doesn't have /proc/id/maps, so it relies on the kernel logging system
    to provide the DSO map to be able to symbolize in the context of ASLR. The DSO
    map is logged automatically on Fuchsia when encountering a crash or writing to
    the sanitizer log for the first time in a process. There are several cases
    where libFuzzer doesn't encounter a crash, e.g. on timeouts, OOMs, and when
    configured to print new PCs as they become covered, to name a few. Therefore,
    this change always writes to the sanitizer log on startup to ensure the DSO map
    is available in the log.

    Author: aarongreen
    Differential Revision: (detail/ViewSVN)
    by jakehehrlich
  22. [OPENMP] Fix the test, NFC (detail/ViewSVN)
    by abataev
  23. llvm-reduce: Clean out previous test temp/output dir, since it was a dir and now it's used as just a single file (detail/ViewSVN)
    by dblaikie
  24. llvm-reduce: Remove some string copies (detail/ViewSVN)
    by dblaikie
  25. Revert r372035: "[lit] Make internal diff work in pipelines"

    This breaks a Windows bot. (detail/ViewSVN)
    by jdenny
  26. [GlobalISel] Partially revert r371901.

    r371901 was overeager and widenScalarDst() and the like in the legalizer
    attempt to increment the insert point given in order to add new instructions
    after the currently legalizing inst. In cases where the insertion point is not
    exactly the current instruction, then callers need to de-compensate for the
    behaviour by decrementing the insertion iterator before calling them. It's not
    a nice state of affairs, for now just undo the problematic parts of the change. (detail/ViewSVN)
    by aemerson
  27. llvm-reduce: Make tests shell-independent by passing the interpreter on the command line rather than using #! in the test file (detail/ViewSVN)
    by dblaikie
  28. Add libc to path mappings in git-llvm. (detail/ViewSVN)
    by dlj
  29. [PowerPC] Cust lower fpext v2f32 to v2f64 from extract_subvector v4f32

    Add the missing piece of r372029.
    Somehow when the patch for review D61961 was committed, only the test case
    went in and the code didn't. This of course caused all kinds of build bot
    This patch just adds the code for that patch.

    Author: Lei Huang
    Differential revision: (detail/ViewSVN)
    by nemanjai
  30. [Remarks] Allow remarks::Format::YAML to take a string table

    It should be allowed to take a string table in case all the strings in
    the remarks point there, but it shouldn't use it during serialization. (detail/ViewSVN)
    by thegameg
  31. [test] Clean up previous raw profile before merging into it

    This fixes a test failure in instrprof-set-file-object-merging.c which
    seems to have been caused by reuse of stale data in old raw profiles. (detail/ViewSVN)
    by Vedant Kumar
  32. [OPENMP]Fix the test, NFC. (detail/ViewSVN)
    by abataev
  33. [Modules][Objective-C] Use complete decl from module when diagnosing missing import

    Otherwise the definition (first found) for ObjCInterfaceDecl's might
    precede the module one, which will eventually lead to crash, since
    diagnoseMissingImport needs one coming from a module.

    This behavior changed after Richard's r342018, which started to look
    into the definition of ObjCInterfaceDecls.


    Reviewers: rsmith, arphaman

    Subscribers: jkorous, dexonsmith, ributzka, cfe-commits

    Tags: #clang

    Differential Revision: (detail/ViewSVN)
    by Bruno Lopes
  34. [compiler-rt][crt]  make test case nontrivial in check_cxx_section_exists

    .init_array gets optimized away when building with -O2 and as a result,
    check_cxx_section_exists failed to pass -DCOMPILER_RT_HAS_INITFINI_ARRAY
    when building crtbegin.o and crtend.o, which causes binaries linked with
    them encounter segmentation fault. See for
    details. This change prevents .init_array section to be optimized away
    even with -O2 or higher optimization level.

    Subscribers: dberris, mgorny, #sanitizers, llvm-commits

    Tags: #sanitizers, #llvm

    Differential Revision: (detail/ViewSVN)
    by jcai19
  35. [clang-tidy] add checks to bugprone-posix-return

    This check now also checks if any calls to pthread_* functions expect negative return values. These functions return either 0 on success or an errno on failure, which is positive only. (detail/ViewSVN)
    by jcai19
  36. [lit] Make internal diff work in pipelines

    When using lit's internal shell, RUN lines like the following
    accidentally execute an external `diff` instead of lit's internal

    # RUN: program | diff file -
    # RUN: not diff file1 file2 | FileCheck %s

    Such cases exist now, in `clang/test/Analysis` for example.  We are
    preparing patches to ensure lit's internal `diff` is called in such
    cases, which will then fail because lit's internal `diff` cannot
    currently be used in pipelines and doesn't recognize `-` as a
    command-line option.

    To enable pipelines, this patch moves lit's `diff` implementation into
    an out-of-process script, similar to lit's `cat` implementation.  A
    follow-up patch will implement `-` to mean stdin.

    Reviewed By: probinson, stella.stamenova

    Differential Revision: (detail/ViewSVN)
    by jdenny
  37. Revert "Implement std::condition_variable via pthread_cond_clockwait() where available"

    This reverts commit 5e37d7f9ff257ec62d733d3d94b11f03e0fe51ca. (detail/ViewSVN)
    by danalbert
  38. [NFC] Test commit access (detail/ViewSVN)
    by bmahjour
  39. [Docs] Bug fix for docs homepage

    Removes reference to non-existent Reference Documentation page. (detail/ViewSVN)
    by dr87
  40. [Docs] Adds Getting Started/Tutorials, Reference to LLVM docs homepage

    Adds a section for Getting Started/Tutorials and Reference topics to the LLVM docs homepage. (detail/ViewSVN)
    by dr87
  41. [PowerPC] Cust lower fpext v2f32 to v2f64 from extract_subvector v4f32

    This is a follow up patch from to handle
    extract_subvector v4f32.  For cases where we fpext of v2f32 to v2f64 from
    extract_subvector we currently generate on P9 the following:

      lxv 0, 0(3)
      xxsldwi 1, 0, 0, 1
      xscvspdpn 2, 0
      xxsldwi 3, 0, 0, 3
      xxswapd 0, 0
      xscvspdpn 1, 1
      xscvspdpn 3, 3
      xscvspdpn 0, 0
      xxmrghd 0, 0, 3
      xxmrghd 1, 2, 1
      stxv 0, 0(4)
      stxv 1, 0(5)

    This patch custom lower it to the following sequence:

      lxv 0, 0(3)       # load the v4f32 <w0, w1, w2, w3>
      xxmrghw 2, 0, 0   # Produce the following vector <w0, w0, w1, w1>
      xxmrglw 3, 0, 0   # Produce the following vector <w2, w2, w3, w3>
      xvcvspdp 2, 2     # FP-extend to <d0, d1>
      xvcvspdp 3, 3     # FP-extend to <d2, d3>
      stxv 2, 0(5)      # Store <d0, d1> (%vecinit11)
      stxv 3, 0(4)      # Store <d2, d3> (%vecinit4)

    Differential Revision: (detail/ViewSVN)
    by lei
  42. Open fstream files in O_CLOEXEC mode when possible.

    Reviewers: EricWF, mclow.lists, ldionne

    Reviewed By: ldionne

    Subscribers: smeenai, dexonsmith, christof, ldionne, libcxx-commits

    Tags: #libc

    Differential Revision: (detail/ViewSVN)
    by danalbert
  43. do not emit -Wunused-macros warnings in -frewrite-includes mode (PR15614)

    -frewrite-includes calls PP.SetMacroExpansionOnlyInDirectives() to avoid
    macro expansions that are useless in that mode, but this can lead
    to -Wunused-macros false positives. As -frewrite-includes does not emit
    normal warnings, block -Wunused-macros too.

    Differential Revision: (detail/ViewSVN)
    by llunak
  44. [Coverage] Speed up file-based queries for coverage info, NFC

    Speed up queries for coverage info in a file by reducing the amount of
    time spent determining whether a function record corresponds to a file.

    This gives a 36% speedup when generating a coverage report for `llc`.
    The reduction is entirely in user time.


    Differential Revision: (detail/ViewSVN)
    by Vedant Kumar
  45. [Coverage] Assert that filenames in a TU are unique, NFC (detail/ViewSVN)
    by Vedant Kumar
  46. [LTO][Legacy] Add new C inferface to query libcall functions

    This is needed to implemented the same approach as lld (implemented in r338434)
    for how to handling symbols that can be generated by LTO code generator
    but not present in the symbol table for linker that uses legacy C APIs.

    libLTO is in charge of providing the list of symbols. Linker is in
    charge of implementing the eager loading from static libraries using
    the list of symbols.


    Reviewers: tejohnson, bd1976llvm, deadalnix, espindola

    Reviewed By: tejohnson

    Subscribers: emaste, arichardson, hiraditya, MaskRay, dang, kledzik, mehdi_amini, inglorion, jkorous, dexonsmith, ributzka, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by steven_wu
  47. [PGO] Use linkonce_odr linkage for __profd_ variables in comdat groups

    This fixes relocations against __profd_ symbols in discarded sections,
    which is PR41380.

    In general, instrumentation happens very early, and optimization and
    inlining happens afterwards. The counters for a function are calculated
    early, and after inlining, counters for an inlined function may be
    widely referenced by other functions.

    For C++ inline functions of all kinds (linkonce_odr &
    available_externally mainly), instr profiling wants to deduplicate these
    __profc_ and __profd_ globals. Otherwise the binary would be quite

    I made __profd_ and __profc_ comdat in r355044, but I chose to make
    __profd_ internal. At the time, I was only dealing with coverage, and in
    that case, none of the instrumentation needs to reference __profd_.
    However, if you use PGO, then instrumentation passes add calls to
    __llvm_profile_instrument_range which reference __profd_ globals. The
    solution is to make these globals externally visible by using
    linkonce_odr linkage for data as was done for counters.

    This is safe because PGO adds a CFG hash to the names of the data and
    counter globals, so if different TUs have different globals, they will
    get different data and counter arrays.

    Reviewers: xur, hans

    Differential Revision: (detail/ViewSVN)
    by rnk
  48. [ARM][Codegen] Autogenerate arm-cgp-casts.ll test.

    Apparently it got broken by r372009 while i thought it was r372012. (detail/ViewSVN)
    by lebedevri
  49. Implement std::condition_variable via pthread_cond_clockwait() where available

    std::condition_variable is currently implemented via
    pthread_cond_timedwait() on systems that use pthread. This is
    problematic, since that function waits by default on CLOCK_REALTIME
    and libc++ does not provide any mechanism to change from this

    Due to this, regardless of if condition_variable::wait_until() is
    called with a chrono::system_clock or chrono::steady_clock parameter,
    condition_variable::wait_until() will wait using CLOCK_REALTIME. This
    is not accurate to the C++ standard as calling
    condition_variable::wait_until() with a chrono::steady_clock parameter
    should use CLOCK_MONOTONIC.

    This is particularly problematic because CLOCK_REALTIME is a bad
    choice as it is subject to discontinuous time adjustments, that may
    cause condition_variable::wait_until() to immediately timeout or wait

    This change fixes this issue with a new POSIX function,
    pthread_cond_clockwait() proposed on The new function is
    similar to pthread_cond_timedwait() with the addition of a clock
    parameter that allows it to wait using either CLOCK_REALTIME or
    CLOCK_MONOTONIC, thus allowing condition_variable::wait_until() to
    wait using CLOCK_REALTIME for chrono::system_clock and CLOCK_MONOTONIC
    for chrono::steady_clock.

    pthread_cond_clockwait() is implemented in glibc (2.30 and later) and
    Android's bionic (Android API version 30 and later).

    This change additionally makes wait_for() and wait_until() with clocks
    other than chrono::system_clock use CLOCK_MONOTONIC.<Paste> (detail/ViewSVN)
    by danalbert
  50. [Clang][Codegen] Disable arm_acle.c test.

    This test is broken by design. Clang codegen tests should not depend
    on llvm middle-end behaviour, they should *only* test clang codegen.
    Yet this test runs whole optimization pipeline.
    I've really tried to fix it, but there isn't just a few things
    that depend on passes, but everything there does. (detail/ViewSVN)
    by lebedevri
  51. [Clang][Codegen] Relax available-externally-suppress.c test

    That test is broken by design.
    It depends on llvm middle-end behavior.
    No clang codegen test should be doing that.
    This one is salvageable by relaxing check lines. (detail/ViewSVN)
    by lebedevri
  52. [X86][AVX] matchShuffleWithSHUFPD - add support for zeroable operands

    Determine if all of the uses of LHS/RHS operands can be replaced with a zero vector. (detail/ViewSVN)
    by rksimon
  53. [ARM] A predicate cast of a predicate cast is a predicate cast

    The adds some very basic folding of PREDICATE_CASTS, removing cases when they
    are chained together. These would already be removed eventually, as these are
    lowered to copies. This just allows it to happen earlier, which can help other

    Differential Revision: (detail/ViewSVN)
    by dmgreen
  54. [OPENMP]Fix parsing/sema for function templates with declare simd.

    Need to return original declaration group with FunctionTemplateDecl, not
    the inner FunctionDecl, to correctly handle parsing of directives with
    the templates parameters. (detail/ViewSVN)
    by abataev
  55. [SimplifyCFG] FoldTwoEntryPHINode(): consider *total* speculation cost, not per-BB cost

    Previously, if the threshold was 2, we were willing to speculatively
    execute 2 cheap instructions in both basic blocks (thus we were willing
    to speculatively execute cost = 4), but weren't willing to speculate
    when one BB had 3 instructions and other one had no instructions,
    even thought that would have total cost of 3.

    This looks inconsistent to me.
    I don't think `cmov`-like instructions will start executing
    until both of it's inputs are available:
    So i don't see why the existing behavior is the correct one.

    Also, let's add it's own `cl::opt` for this threshold,
    with default=4, so it is not stricter than the previous threshold:
    will allow to fold when there are 2 BB's each with cost=2.
    And since the logic has changed, it will also allow to fold when
    one BB has cost=3 and other cost=1, or there is only one BB with cost=4.

    This is an alternative solution to D65148:
    This fix is mainly motivated by `signbit-like-value-extension.ll` test.
    That pattern comes up in JPEG decoding, see e.g.
    `Figure F.12 – Extending the sign bit of a decoded value in V`
    of `ITU T.81` (JPEG specification).
    That branch is not predictable, and it is within the innermost loop,
    so the fact that that pattern ends up being stuck with a branch
    instead of `select` (i.e. `CMOV` for x86) is unlikely to be beneficial.

    This has great results on the final assembly (vanilla test-suite + RawSpeed): (metric pass - D67240)
    | metric                                 |     old |     new | delta |      % |
    | x86-mi-counting.NumMachineFunctions    |   37720 |   37721 |     1 |  0.00% |
    | x86-mi-counting.NumMachineBasicBlocks  |  773545 |  771181 | -2364 | -0.31% |
    | x86-mi-counting.NumMachineInstructions | 7488843 | 7486442 | -2401 | -0.03% |
    | x86-mi-counting.NumUncondBR            |  135770 |  135543 |  -227 | -0.17% |
    | x86-mi-counting.NumCondBR              |  423753 |  422187 | -1566 | -0.37% |
    | x86-mi-counting.NumCMOV                |   24815 |   25731 |   916 |  3.69% |
    | x86-mi-counting.NumVecBlend            |      17 |      17 |     0 |  0.00% |

    We significantly decrease basic block count, notably decrease instruction count,
    significantly decrease branch count and very significantly increase `cmov` count.

    Performance-wise, unsurprisingly, this has great effect on
    target RawSpeed benchmark. I'm seeing 5 **major** improvements:
    Benchmark                                                                                             Time             CPU      Time Old      Time New       CPU Old       CPU New
    Samsung/NX3000/_3184416.SRW/threads:8/process_time/real_time_pvalue                                 0.0000          0.0000      U Test, Repetitions: 49 vs 49
    Samsung/NX3000/_3184416.SRW/threads:8/process_time/real_time_mean                                  -0.3064         -0.3064      226.9913      157.4452      226.9800      157.4384
    Samsung/NX3000/_3184416.SRW/threads:8/process_time/real_time_median                                -0.3057         -0.3057      226.8407      157.4926      226.8282      157.4828
    Samsung/NX3000/_3184416.SRW/threads:8/process_time/real_time_stddev                                -0.4985         -0.4954        0.3051        0.1530        0.3040        0.1534
    Kodak/DCS760C/86L57188.DCR/threads:8/process_time/real_time_pvalue                                  0.0000          0.0000      U Test, Repetitions: 49 vs 49
    Kodak/DCS760C/86L57188.DCR/threads:8/process_time/real_time_mean                                   -0.1747         -0.1747       80.4787       66.4227       80.4771       66.4146
    Kodak/DCS760C/86L57188.DCR/threads:8/process_time/real_time_median                                 -0.1742         -0.1743       80.4686       66.4542       80.4690       66.4436
    Kodak/DCS760C/86L57188.DCR/threads:8/process_time/real_time_stddev                                 +0.6089         +0.5797        0.0670        0.1078        0.0673        0.1062
    Sony/DSLR-A230/DSC08026.ARW/threads:8/process_time/real_time_pvalue                                 0.0000          0.0000      U Test, Repetitions: 49 vs 49
    Sony/DSLR-A230/DSC08026.ARW/threads:8/process_time/real_time_mean                                  -0.1598         -0.1598      171.6996      144.2575      171.6915      144.2538
    Sony/DSLR-A230/DSC08026.ARW/threads:8/process_time/real_time_median                                -0.1598         -0.1597      171.7109      144.2755      171.7018      144.2766
    Sony/DSLR-A230/DSC08026.ARW/threads:8/process_time/real_time_stddev                                +0.4024         +0.3850        0.0847        0.1187        0.0848        0.1175
    Canon/EOS 77D/IMG_4049.CR2/threads:8/process_time/real_time_pvalue                                  0.0000          0.0000      U Test, Repetitions: 49 vs 49
    Canon/EOS 77D/IMG_4049.CR2/threads:8/process_time/real_time_mean                                   -0.0550         -0.0551      280.3046      264.8800      280.3017      264.8559
    Canon/EOS 77D/IMG_4049.CR2/threads:8/process_time/real_time_median                                 -0.0554         -0.0554      280.2628      264.7360      280.2574      264.7297
    Canon/EOS 77D/IMG_4049.CR2/threads:8/process_time/real_time_stddev                                 +0.7005         +0.7041        0.2779        0.4725        0.2775        0.4729
    Canon/EOS 5DS/2K4A9929.CR2/threads:8/process_time/real_time_pvalue                                  0.0000          0.0000      U Test, Repetitions: 49 vs 49
    Canon/EOS 5DS/2K4A9929.CR2/threads:8/process_time/real_time_mean                                   -0.0354         -0.0355      316.7396      305.5208      316.7342      305.4890
    Canon/EOS 5DS/2K4A9929.CR2/threads:8/process_time/real_time_median                                 -0.0354         -0.0356      316.6969      305.4798      316.6917      305.4324
    Canon/EOS 5DS/2K4A9929.CR2/threads:8/process_time/real_time_stddev                                 +0.0493         +0.0330        0.3562        0.3737        0.3563        0.3681

    That being said, it's always best-effort, so there will likely
    be cases where this worsens things.

    Reviewers: efriedma, craig.topper, dmgreen, jmolloy, fhahn, Carrot, hfinkel, chandlerc

    Reviewed By: jmolloy

    Subscribers: xbolva00, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by lebedevri
  56. [clangd] Simplify semantic highlighting visitor

    - Functions to compute highlighting kinds for things are separated from
      the ones that add highlighting tokens.
      This keeps each of them more focused on what they're doing: getting
      locations and figuring out the kind of the entity, correspondingly.

    - Less special cases in visitor for various nodes.

    This change is an NFC.

    Reviewers: hokein

    Reviewed By: hokein

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

    Tags: #clang

    Differential Revision: (detail/ViewSVN)
    by ibiryukov
  57. [InstCombine] remove unneeded one-use checks for icmp fold

    Related folds were added in:
    ...the code comment about register pressure is discussed in
    more detail in:

    But 10 years later, perf testing bzip2 with this change now
    shows a slight (0.2% average) improvement on Haswell although
    that's probably within test noise.

    Given that this is IR canonicalization, we shouldn't be worried
    about register pressure though; the backend should be able to
    adjust for that as needed.

    This is part of solving PR43310 the theoretically right way:, if we don't cripple basic transforms, then we won't
    need to add special-case code to detect larger patterns.

    rL371940 and rL371981 are related patches in this series. (detail/ViewSVN)
    by spatel
  58. [InstCombine] move tests for icmp+add; NFC (detail/ViewSVN)
    by spatel
  59. [ARM] Add patterns for BSWAP intrinsic on MVE

    BSWAP can use the VREV instruction on MVE to produce better results than
    expanding. (detail/ViewSVN)
    by oliverlars
  60. [ARM] Add patterns for bitreverse intrinsic on MVE

    BITREVERSE can use the VBRSR which will reverse and right shift.
    Shifting right by 0 will just reverse the bits. (detail/ViewSVN)
    by oliverlars
  61. [ARM] Lower CTTZ on MVE

    Lower CTTZ on MVE using VBRSR and VCLS which will reverse the bits and
    count the leading zeros, equivalent to a count trailing zeros (CTTZ). (detail/ViewSVN)
    by oliverlars
  62. [ARM] Add patterns for CTLZ on MVE

    CTLZ intrinsic can use the VCLS instruction on MVE, which produces
    better results than expanding. (detail/ViewSVN)
    by oliverlars
  63. [ExecutionEngine] Don't dereference a dyn_cast result. NFCI.

    The static analyzer is warning about potential null dereferences of dyn_cast<> results - in these cases we can safely use cast<> directly as we know that these cases should all be the correct type, which is why its working atm and anyway cast<> will assert if they aren't. (detail/ViewSVN)
    by rksimon
  64. [libFuzzer] Remove unused version of FuzzedDataProvider.h.

    Summary: The actual version lives in compiler-rt/include/fuzzer/.

    Reviewers: Dor1s

    Reviewed By: Dor1s

    Subscribers: delcypher, #sanitizers, llvm-commits

    Tags: #llvm, #sanitizers

    Differential Revision: (detail/ViewSVN)
    by dor1s
  65. [LV] Add ARM MVE tail-folding tests

    Now that the vectorizer can do tail-folding (rL367592), and the ARM backend
    understands MVE masked loads/stores (rL371932), it's time to add the MVE
    tail-folding equivalent of the X86 tests that I added. (detail/ViewSVN)
    by sjoerdmeijer
  66. [SystemZ]  Call erase() on the right MBB in SystemZTargetLowering::emitSelect()

    Since MBB was split *before* MI, the MI(s) will reside in JoinMBB (MBB) at
    the point of erasing them, so calling StartMBB->erase() is actually wrong,
    although it is "working" by all appearances.

    Review: Ulrich Weigand (detail/ViewSVN)
    by jonpa
  67. [NFC] remove unused functions

    Reviewers: courbet

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by gchatelet
  68. AMDGPU/GlobalISel: Fail select of G_INSERT non-32-bit source

    This was producing an illegal copy which would hit an assert
    later. Error on selection for now until this is implemented. (detail/ViewSVN)
    by arsenm
  69. AMDGPU/GlobalISel: Fix some broken run lines (detail/ViewSVN)
    by arsenm
  70. AMDGPU/GlobalISel: Fix RegBankSelect for G_FRINT and G_FCEIL (detail/ViewSVN)
    by arsenm
  71. AMDGPU/GlobalISel: Remove another illegal select test (detail/ViewSVN)
    by arsenm

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

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

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

This run spent:

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

Missing test results

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

Regression test failed

This build failed because a regression test in the test suite FAILed. See the test report for details.
Indication 3

Ninja target failed

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