Started 11 days ago
Took 2 hr 12 min on green-dragon-08

Success Build #17799 (Jun 12, 2019 4:44:07 PM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 363217
  • http://llvm.org/svn/llvm-project/cfe/trunk : 363208
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 363167
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 362745
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 363209
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 363150
Changes
  1. [Tests] Highlight impact of multiple exit LFTR (D62625) as requested by reviewer (detail/ViewSVN)
    by reames
  2. [NFC][CodeGen] Add unary FNeg tests to X86/avx512-intrinsics-fast-isel.ll

    Patch 1 of n. (detail/ViewSVN)
    by mcinally
  3. [llvm] Expose DWARFDebugLine::LineTable::getFileNameEntry

    Summary:
    This is useful for scenarios where Prologue was directly used and DWARF
    5 awareness is required. The current alternative would be to either
    duplicate the logic in getFileNameEntry, or to use getFileNameByIndex.
    The latter isn't quite an in-place replacement - it performs some
    processing, and it produces a string instead of a StringRef, meaning
    the caller needs to handle its lifetime.

    Reviewers: tamur, dblaikie, JDevlieghere

    Reviewed By: tamur, JDevlieghere

    Subscribers: aprantl, llvm-commits

    Tags: #llvm, #debug-info

    Differential Revision: https://reviews.llvm.org/D63228 (detail/ViewSVN)
    by mtrofin
  4. [libcxx] XFAIL set/multiset CTAD tests on Apple Clang 10 (detail/ViewSVN)
    by Louis Dionne
  5. [clang-scan-deps] Include <mutex> in ClangScanDeps.cpp to ensure it
    builds on all platforms (detail/ViewSVN)
    by arphaman
  6. NFC, Update the ClangScanDeps.cpp file's license comment

    The file ClangScanDeps.cpp from r363204 had the old outdated LLVM
    license comment at the top of the file that I committed by accident. (detail/ViewSVN)
    by arphaman
  7. NFC, fixup indentation in CMakeLists.txt from r363204 as requested
    in the review.

    I missed that review comment from https://reviews.llvm.org/D60233 in the original
    commit. (detail/ViewSVN)
    by arphaman
  8. [clang-scan-deps] initial outline of the tool that runs preprocessor to find
    dependencies over a JSON compilation database

    This commit introduces an outline for the clang-scan-deps tool that will be
    used to implement fast dependency discovery phase using implicit modules for
    explicit module builds.

    The initial version of the tool works by computing non-modular header dependencies
    for files in the compilation database without any optimizations
    (i.e. without source minimization from r362459).
    The tool spawns a number of worker threads to run the clang compiler workers in parallel.

    The immediate goal for clang-scan-deps is to create a ClangScanDeps library
    which will be used to build up this tool to use the source minimization and
    caching multi-threaded filesystem to implement the optimized non-incremental
    dependency scanning phase for a non-modular build. This will allow us to do
    benchmarks and comparisons for performance that the minimization and caching give us

    Differential Revision: https://reviews.llvm.org/D60233 (detail/ViewSVN)
    by arphaman
  9. [x86] add tests for vector shifts; NFC (detail/ViewSVN)
    by spatel
  10. Sanitize llvm-extract -help output

    Filter out irrelevant options

    New output:

        OVERVIEW: llvm extractor

        USAGE: llvm-extract [options] <input bitcode file>

        OPTIONS:

        Generic Options:

          --help              - Display available options (--help-hidden for more)
          --help-list         - Display list of available options (--help-list-hidden for more)
          --version           - Display the version of this program

        llvm-extract Options:

          --alias=<alias>     - Specify alias to extract
          --bb=<function:bb>  - Specify <function, basic block> pairs to extract
          --delete            - Delete specified Globals from Module
          -f                  - Enable binary output on terminals
          --func=<function>   - Specify function to extract
          --glob=<global>     - Specify global to extract
          -o=<filename>       - Specify output filename
          --ralias=<ralias>   - Specify alias(es) to extract using a regular expression
          --recursive         - Recursively extract all called functions
          --rfunc=<rfunction> - Specify function(s) to extract using a regular expression
          --rglob=<rglobal>   - Specify global(s) to extract using a regular expression

    Differential Revision: https://reviews.llvm.org/D62511 (detail/ViewSVN)
    by serge_sans_paille
  11. [NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll

    Patch 3 of 3 for X86/avx512vl-intrinsics-fast-isel.ll (detail/ViewSVN)
    by mcinally
  12. [test] Reinstate the assignment to the diagnostic log in the unittest
    from r363009

    The diagnostic log is now set to "-" which forces it to use STDERR
    instead of the filesystem. A new comment is added to explain why
    the assignment is needed in the test. (detail/ViewSVN)
    by arphaman
  13. [llvm-readobj] Fix output interleaving issue caused by using multiple streams at the same time.

    Summary:
    Use llvm::fouts() as the default stream for outputing. No new stream
    should be constructed to output at the same time.

    https://bugs.llvm.org/show_bug.cgi?id=42140

    Reviewers: jhenderson, grimar, MaskRay, phosek, rupprecht

    Reviewed By: rupprecht

    Subscribers: llvm-commits

    Tags: #llvm

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

    Patch by Yuanfang Chen! (detail/ViewSVN)
    by rupprecht
  14. [libcxx] XFAIL some CTAD tests on AppleClang 10

    AppleClang 10 doesn't contain some changes that are required for this
    test to give the right error message. (detail/ViewSVN)
    by Louis Dionne
  15. [IndVars] Extend diagnostic -replexitval flag w/ability to bypass hard use hueristic

    Note: This does mean that "always" is now more powerful than it was. (detail/ViewSVN)
    by reames
  16. Add comment to r363191 code as requested in code review (detail/ViewSVN)
    by rnk
  17. [NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll

    Patch 2 of 3 for X86/avx512vl-intrinsics-fast-isel.ll (detail/ViewSVN)
    by mcinally
  18. [Tests] Autogen RLEV test and add tests for a future enhancement (detail/ViewSVN)
    by reames
  19. [Tests] Add tests to highlight sibling loop optimization order issue for exit rewriting

    The issue addressed in r363180 is more broadly relevant.  For the moment, we don't actually get any of these cases because we a) restrict SCEV formation due to SCEExpander needing to preserve LCSSA, and b) don't iterate between loops. (detail/ViewSVN)
    by reames
  20. [MS] Pretend constexpr variable template specializations are inline

    Fixes link errors with clang and the latest Visual C++ 14.21.27702
    headers, which was reported as PR42027.

    I chose to intentionally make these things linkonce_odr, i.e.
    discardable, so that we don't emit definitions of these things in every
    translation unit that includes STL headers.

    Note that this is *not* what MSVC does: MSVC has not yet implemented C++
    DR2387, so they emit fully specialized constexpr variable templates with
    static / internal linkage.

    Reviewers: rsmith

    Differential Revision: https://reviews.llvm.org/D63175 (detail/ViewSVN)
    by rnk
  21. [AMDGPU] more gfx1010 tests. NFC. (detail/ViewSVN)
    by rampitec
  22. [llvm-ar][test] Relax lit directory assumptions in thin-archive.test

    Summary: thin-archive.test assumes the Output/<testname> structure that lit creates. Rewrite the test in a way that still tests the same thing (creating via relative path and adding via absolute path) but doesn't assume this specific lit structure, making it possible to run in a lit emulator.

    Reviewers: gbreynoo

    Reviewed By: gbreynoo

    Subscribers: llvm-commits, bkramer

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D62930 (detail/ViewSVN)
    by rupprecht
  23. PR42220: take into account the possibility of aggregates with base
    classes when checking an InitListExpr for lifetime extension. (detail/ViewSVN)
    by rsmith
  24. [analyzer] ProgramPoint: more explicit printJson()

    Summary: Now we print out every possible kinds of ProgramPoints.

    Reviewers: NoQ, xazax.hun, ravikandhadai, baloghadamsoftware, Szelethus

    Reviewed By: NoQ

    Subscribers: szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy,
                 dkrupp, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D62946 (detail/ViewSVN)
    by charusso
  25. [AMDGPU] gfx1010 dpp16 and dpp8

    Differential Revision: https://reviews.llvm.org/D63203 (detail/ViewSVN)
    by rampitec
  26. [AMDGPU] gfx1010 premlane instructions

    Differential Revision: https://reviews.llvm.org/D63202 (detail/ViewSVN)
    by rampitec
  27. [Mips] Add s.d instruction alias for Mips1

    Add support for s.d instruction for Mips1 which expands into two swc1
    instructions.

    Patch by Mirko Brkusanin.

    Differential Revision: https://reviews.llvm.org/D63199 (detail/ViewSVN)
    by atanasyan
  28. [llvm-lipo] Update llvm-lipo docs for -archs flag

    The information for -archs flag is added to llvm-lipo.rst.

    Patch by Anusha Basana <anusha.basana@gmail.com>

    Differential Revision: https://reviews.llvm.org/D63100 (detail/ViewSVN)
    by smeenai
  29. [X86][SSE] Avoid unnecessary stack codegen in NT merge-consecutive-stores codegen tests. (detail/ViewSVN)
    by rksimon
  30. [SCEV] Teach computeSCEVAtScope benefit from one-input Phi. PR39673

    SCEV does not propagate arguments through one-input Phis so as to make it easy for the SCEV expander (and related code) to preserve LCSSA.  It's not entirely clear this restriction is neccessary, but for the moment it exists.   For this reason, we don't analyze single-entry phi inputs.  However it is possible that when an this input leaves the loop through LCSSA Phi, it is a provable constant.  Missing that results in an order of optimization issue in loop exit value rewriting where we miss some oppurtunities based on order in which we visit sibling loops.

    This patch teaches computeSCEVAtScope about this case. We can generalize it later, but so far we can only replace LCSSA Phis with their constant loop-exiting values.  We should probably also add similiar logic directly in the SCEV construction path itself.

    Patch by: mkazantsev (with revised commit message by me)
    Differential Revision: https://reviews.llvm.org/D58113 (detail/ViewSVN)
    by reames
  31. [TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests (PR42123)

    As discussed on D62910, we need to check whether particular types of memory access are allowed, not just their alignment/address-space.

    This NFC patch adds a MachineMemOperand::Flags argument to allowsMemoryAccess and allowsMisalignedMemoryAccesses, and wires up calls to pass the relevant flags to them.

    If people are happy with this approach I can then update X86TargetLowering::allowsMisalignedMemoryAccesses to handle misaligned NT load/stores.

    Differential Revision: https://reviews.llvm.org/D63075 (detail/ViewSVN)
    by rksimon
  32. [X86][AVX] Fold concat(vpermilps(x,c),vpermilps(y,c)) -> vpermilps(concat(x,y),c)

    Handles PSHUFD/PSHUFLW/PSHUFHW (AVX2) + VPERMILPS (AVX1).

    An extra AVX1 PSHUFD->VPERMILPS combine will be added in a future commit. (detail/ViewSVN)
    by rksimon
  33. [InstCombine] add tests for fmin/fmax libcalls; NFC (detail/ViewSVN)
    by spatel
  34. Revert rL363156.

    The patch was to fix buildbots, but rL363157 should now be fixing it
    in a cleaner way. (detail/ViewSVN)
    by sam_parker
  35. [NFC[ Updated tests for D54411 (detail/ViewSVN)
    by xbolva00
  36. gn build: Add SystemZ target (detail/ViewSVN)
    by nico
  37. StackProtector: Use PointerMayBeCaptured

    This was using its own, outdated list of possible captures. This was
    at minimum not catching cmpxchg and addrspacecast captures.

    One change is now any volatile access is treated as capturing. The
    test coverage for this pass is quite inadequate, but this required
    removing volatile in the lifetime capture test.

    Also fixes some infrastructure issues to allow running just the IR
    pass.

    Fixes bug 42238. (detail/ViewSVN)
    by arsenm
  38. AMDGPU/GlobalISel: Fix using illegal situations in tests

    These were using illegal copies as the side effecting use, so make
    them legal. (detail/ViewSVN)
    by arsenm
  39. [compiler-rt] Fix name_to_handle_at.cc test on Overlay2 (for Docker)

    This patch aims to fix the test case, name_to_handle_at.cc that fails on Docker.

    Overlay2 on Docker does not support the current check for the name_to_handle_at()
    function call of the test case. The proposed fix is to check for /dev/null in
    the test instead, as this check is supported. Checking for /dev/null has been
    utilized in the past for other test cases, as well.

    Differential Revision: https://reviews.llvm.org/D63094 (detail/ViewSVN)
    by amyk
  40. [ARM] Fix compiler warning

    Without this fix clang 3.6 complains with:

    ../lib/Target/ARM/ARMAsmPrinter.cpp:1473:18: error: variable 'BranchTarget' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
          } else if (MI->getOperand(1).isSymbol()) {
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../lib/Target/ARM/ARMAsmPrinter.cpp:1479:22: note: uninitialized use occurs here
          MCInst.addExpr(BranchTarget);
                         ^~~~~~~~~~~~
    ../lib/Target/ARM/ARMAsmPrinter.cpp:1473:14: note: remove the 'if' if its condition is always true
          } else if (MI->getOperand(1).isSymbol()) {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../lib/Target/ARM/ARMAsmPrinter.cpp:1465:33: note: initialize the variable 'BranchTarget' to silence this warning
          const MCExpr *BranchTarget;
                                    ^
                                     = nullptr
    1 error generated.

    Discussed here:
    http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190610/661417.html (detail/ViewSVN)
    by uabelho
  41. LoopVersioning: Respect convergent

    This changes the standalone pass only. Arguably the utility class
    itself should assert there are no convergent calls. However, a target
    pass with additional context may still be able to version a loop if
    all of the dynamic conditions are sufficiently uniform. (detail/ViewSVN)
    by arsenm
  42. [MIR] Skip hoisting to basic block which may throw exception or return

    Summary:
    Fix hoisting to basic block which are not legal for hoisting cause
    it can be terminated by exception or it is return block.

    Reviewers: john.brawn, RKSimon, MatzeB

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63148 (detail/ViewSVN)
    by anton-afanasyev
  43. [InstCombine] add tests for fcmp+select with FMF (minnum/maxnum); NFC (detail/ViewSVN)
    by spatel
  44. LoopLoadElim: Respect convergent (detail/ViewSVN)
    by arsenm
  45. [DebugInfo] Add a test that fell out of an earlier commit

    r362951 was supposed to contain this test, however it didn't get committed
    due to operator error. This was originally part of D59431. (detail/ViewSVN)
    by jmorse
  46. LoopDistribute/LAA: Respect convergent

    This case is slightly tricky, because loop distribution should be
    allowed in some cases, and not others. As long as runtime dependency
    checks don't need to be introduced, this should be OK. This is further
    complicated by the fact that LoopDistribute partially ignores if LAA
    says that vectorization is safe, and then does its own runtime pointer
    legality checks.

    Note this pass still does not handle noduplicate correctly, as this
    should always be forbidden with it. I'm not going to bother trying to
    fix it, as it would require more effort and I think noduplicate should
    be removed.

    https://reviews.llvm.org/D62607 (detail/ViewSVN)
    by arsenm
  47. gn build: Add Mips target (detail/ViewSVN)
    by nico
  48. LoopDistribute/LAA: Add tests to catch regressions

    I broke 2 of these with a patch, but were not covered by existing
    tests.

    https://reviews.llvm.org/D63035 (detail/ViewSVN)
    by arsenm
  49. [NFC] Add HardwareLoops lit.local.cfg file

    Set Transforms/HardwareLoops/ARM/ tests as unsupported if there isn't
    an arm target. (detail/ViewSVN)
    by sam_parker
  50. Attempt to fix non-Arm buildbots

    Adding REQUIRES: arm to failing tests (detail/ViewSVN)
    by sam_parker
  51. Fix a Wunused-lambda-capture warning.

    The capture was added in the first commit of https://reviews.llvm.org/D61934
    when it was used. In the reland, the use was removed but the capture
    wasn't removed. (detail/ViewSVN)
    by nico
  52. gn build: add RISCV target

    Patch from David L. Jones <dlj@google.com>, with minor tweaks by me.

    Differential Revision: https://reviews.llvm.org/D61821 (detail/ViewSVN)
    by nico
  53. [X86][AVX] Tests showing missing concat(shuffle,shuffle) -> shuffle(concat) folds. NFCI. (detail/ViewSVN)
    by rksimon
  54. gn build: Merge r363122 (detail/ViewSVN)
    by nico
  55. [Legacy LTO] Fix build bots: r363140: Fix export name (detail/ViewSVN)
    by bd1976llvm
  56. [clangd] Return TextEdits from ClangdServer::applyTweak

    Summary:
    Instead of `tooling::Replacements`. So that embedders do not need to store
    the contents of the file.

    This also aligns better with `ClangdServer::rename`.

    Reviewers: kadircet, hokein

    Reviewed By: hokein

    Subscribers: MaskRay, jkorous, arphaman, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D63140 (detail/ViewSVN)
    by ibiryukov
  57. [ARM] Implement TTI::isHardwareLoopProfitable
       
    Implement the backend target hook to drive the HardwareLoops pass.
    The low-overhead branch extension for Arm M-class cores is flexible
    enough that we don't have to ensure correctness at this point, except
    checking that the loop counter variable can be stored in LR - a
    32-bit register. For it to be profitable, we want to avoid loops that
    contain function calls, or any other instruction that alters the PC.
       
    This implementation uses TargetLoweringInfo, to query type and
    operation actions, looks at intrinsic calls and also performs some
    manual checks for remainder/division and FP operations.
       
    I think this should be a good base to start and extra details can be
    filled out later.

    Differential Revision: https://reviews.llvm.org/D62907 (detail/ViewSVN)
    by sam_parker
  58. [bindings/go][NFC] Format code with go fmt

    Run go fmt (version 1.12) over the Go bindings. This cleans up lots of
    inconsistencies in the code, it does not change the code in a functional
    way.

    Differential Revision: https://reviews.llvm.org/D63057 (detail/ViewSVN)
    by aykevl
  59. [NFC][SCEV] Add NoWrapFlag argument to InsertBinOp

    'Use wrap flags in InsertBinop' (rL362687) was reverted due to
    miscompiles. This patch introduces the previous change to pass
    no-wrap flags but now only FlagAnyWrap is passed.

    Differential Revision: https://reviews.llvm.org/D61934 (detail/ViewSVN)
    by sam_parker
  60. [docs][llvm-symbolizer] Fix typo and grammar error (detail/ViewSVN)
    by jhenderson
  61. Share /machine: handling code with llvm-cvtres too

    r363016 let lld-link and llvm-lib share the /machine: parsing code.
    This lets llvm-cvtres share it as well.

    Making llvm-cvtres depend on llvm-lib seemed a bit strange (it doesn't
    need llvm-lib's dependencies on BinaryFormat and BitReader) and I
    couldn't find a good place to put this code. Since it's just a few
    lines, put it in lib/Object for now.

    Differential Revision: https://reviews.llvm.org/D63120 (detail/ViewSVN)
    by nico
  62. [DOC] Fix `load` instructions' syntax, function definition.

    Summary: In this patch, I updated `load` instruction syntax and fixed function definition. Besides, I re-named some variables to make them obey SSA rule.

    Reviewers: MaskRay

    Reviewed By: MaskRay

    Subscribers: llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63186 (detail/ViewSVN)
    by Xing
  63. [XCore] CombineSTORE - Use allowsMemoryAccess wrapper. NFCI.

    Noticed in D63075 - there was a allowsMisalignedMemoryAccesses call to check for unaligned loads and a check for aligned legal type loads - which is exactly what allowsMemoryAccess does. (detail/ViewSVN)
    by rksimon
  64. [ThinLTO]LTO]Legacy] Fix dependent libraries support by adding querying of the IRSymtab

    Dependent libraries support for the legacy api was committed in a
    broken state (see: https://reviews.llvm.org/D60274). This was missed
    due to the painful nature of having to integrate the changes into a
    linker in order to test. This change implements support for dependent
    libraries in the legacy LTO api:

    - I have removed the current api function, which returns a single
    string, and   added functions to access each dependent library
    specifier individually.

    - To reduce the testing pain, I have made the api functions as thin as
    possible to   maximize coverage from llvm-lto.

    - When doing ThinLTO the system linker will load the modules lazily
    when scanning   the input files. Unfortunately, when modules are
    lazily loaded there is no access   to module level named metadata. To
    fix this I have added api functions that allow   querying the IRSymtab
    for the dependent libraries. I hope to expand the api in the   future
    so that, eventually, all the information needed by a client linker
    during   scan can be retrieved from the IRSymtab.

    Differential Revision: https://reviews.llvm.org/D62935 (detail/ViewSVN)
    by bd1976llvm
  65. [clangd] Fix typo in GUARDED_BY()

    Reviewers: ilya-biryukov, kadircet, sammccall

    Subscribers: javed.absar, MaskRay, jkorous, arphaman, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D63193 (detail/ViewSVN)
    by nik
  66. [docs] Fix typo (detail/ViewSVN)
    by jhenderson
  67. [XCore] LowerLOAD/LowerSTORE - Use allowsMemoryAccess wrapper. NFCI.

    Noticed in D63075 - there was a allowsMisalignedMemoryAccesses call to check for unaligned loads and a check for aligned legal type loads - which is exactly what allowsMemoryAccess does. (detail/ViewSVN)
    by rksimon
  68. [llvm-nm] Fix docs and help text for --print-size

    The --print-size help text and documentation claimed that the size was
    printed instead of the address, but this is incorrect. It is printed as
    well as the address. This patch fixes this issue.

    Reviewed by: MaskRay, mtrent, ruiu

    Differential Revision: https://reviews.llvm.org/D63142 (detail/ViewSVN)
    by jhenderson
  69. Revert r362676 "[Profile]: Add runtime interface to specify file handle for profile data."

    This caused instrumented Clang to become crashy. See llvm-commits thread
    for repro steps.

    This also reverts follow-up r362716 which added test cases.

    > Author: Sajjad Mirza
    >
    > Differential Revision: http://reviews.llvm.org/D62541 (detail/ViewSVN)
    by hans
  70. Fixed a crash in misc-redundant-expression ClangTidy checker

    Summary: It was trying to pass a dependent expression into constant evaluator.

    Reviewers: ilya-biryukov

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D63188 (detail/ViewSVN)
    by gribozavr
  71. Revert "[DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion"

    This reverts commit 1a0f7a2077b70c9864faa476e15b048686cf1ca7.
    See phabricator thread for D60831. (detail/ViewSVN)
    by orlandoch
  72. [AVR] Fix the 'avr-tiny.ll' and 'avr25.ll' subtarget feature tests

    When these tests were originally written, the middle end would introduce
    an unnecessary copy from r24:r23->GPR16->r24:r23, and these tests
    mistakenly relied on it.

    The most optimal codegen for the functions in the test cases before this patch
    would be NOPs. This is because the first i16 argument always gets the same register
    allocation as an i16 return value in the AVR calling convention.

    These tests broke in r362963 when the codegen was improved and the
    redundant copy was eliminated. After this, the test functions
    were lowered to their optimal form - a 'ret' and nothing else.

    This patch prepends an extra i16 operand to each of the test functions
    so that a 16-bit copy must be inserted for the program to be correct. (detail/ViewSVN)
    by dylanmckay
  73. [AArch64] Merge globals when optimising for size

    Extern global merging is good for code-size. There's definitely potential for
    performance too, but there's one regression in a benchmark that needs
    investigating, so that's why we enable it only when we optimise for size for
    now.

    Patch by Ramakota Reddy and Sjoerd Meijer.

    Differential Revision: https://reviews.llvm.org/D61947 (detail/ViewSVN)
    by sjoerdmeijer
  74. gitignore: Ignore Qt Creator project configuration files. NFC (detail/ViewSVN)
    by nik
  75. [NFC] Test commit (detail/ViewSVN)
    by nik
  76. [X86] Add VCMPSSZrr_Intk and VCMPSDZrr_Intk to isNonFoldablePartialRegisterLoad.

    The non-masked versions are already in there. I'm having some
    trouble coming up with a way to test this right now. Most load
    folding should happen during isel so I'm not sure how to get
    peephole pass to do it. (detail/ViewSVN)
    by ctopper
  77. [RISCV] Fix inline-asm.ll test by adding nounwind attribute

    This test failed since CFI directive support was added in r361320. (detail/ViewSVN)
    by asb
  78. [PowerPC] [Clang] Port SSE2 intrinsics to PowerPC

    Port emmintrin.h which include Intel SSE2 intrinsics implementation to PowerPC platform (using Altivec).

    The new headers containing those implemenations are located into a directory named ppc_wrappers
    which has higher priority when the platform is PowerPC on Linux. They are mainly developed by Steven Munroe,
    with contributions from Paul Clarke, Bill Schmidt, Jinsong Ji and Zixuan Wu.

    It's a follow-up patch of D62121.

    Patched by: Qiu Chaofan <qiucf@cn.ibm.com>

    Differential Revision: https://reviews.llvm.org/D62569 (detail/ViewSVN)
    by wuzish
  79. [RISCV] Add CFI directives for RISCV prologue/epilog.

    In order to generate correct debug frame information, it needs to
    generate CFI information in prologue and epilog.

    Differential Revision: https://reviews.llvm.org/D61773 (detail/ViewSVN)
    by hsiangkai
  80. [NFC] Correct comments in RegisterCoalescer.

    Differential Revision: https://reviews.llvm.org/D63124 (detail/ViewSVN)
    by hsiangkai
  81. [PowerPC][NFC] Added test for sext/shl combination after isel. (detail/ViewSVN)
    by lkail
  82. Apply [[nodebug]] to typedefs throughout the STL.

    When applied to a typedef or alias template, the [[nodebug]] attribute
    makes the typedef transparent to the debugger, so instead of seeing
    `std::__function::__alloc_func<remove_reference<void(&)()>::type,
    allocator<remove_reference<void(&)()>, void()>::_Target` you see
    `void(&)()` as the type of the variable in your debugger.

    Removing all this SFINAE noise from debug info has huge binary size
    wins, in addition to improving the readability.

    For now this change is on by default. Users can override it by
    specifying -D_LIBCPP_NODEBUG_TYPE= (detail/ViewSVN)
    by ericwf
  83. [X86] [ABI] Fix i386 ABI "__m64" type bug

    According to System V i386 ABI: the  __m64 type paramater and return
    value are passed by MMX registers. But current implementation treats
    __m64 as i64 which results in parameter passing by stack and returning
    by EDX and EAX.

    This patch fixes the bug (https://bugs.llvm.org/show_bug.cgi?id=41029)
    for Linux and NetBSD.

    Patch by Wei Xiao (wxiao3)

    Differential Revision: https://reviews.llvm.org/D59744 (detail/ViewSVN)
    by pengfei
  84. [NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll X86/combine-fabs.ll

    X86/avx512vl-intrinsics-fast-isel.ll is only partially complete. (detail/ViewSVN)
    by mcinally
  85. Mark declarations as referenced by a default argument in a
    potentially-evaluated context.

    This applies even if the use of the default argument is within an
    unevaluated context. (detail/ViewSVN)
    by rsmith
  86. Fix a bug in getSCEVAtScope w.r.t. non-canonical loops

    The issue is that if we have a loop with multiple predecessors outside the loop, the code was expecting to merge them and only return if equal, but instead returned the first one seen.

    I have no idea if this actually tripped anywhere.  I noticed it by accident when reading the code and have no idea how to go about constructing a test case. (detail/ViewSVN)
    by reames
  87. Move libc++ specific tests for std::function out of the std directory (detail/ViewSVN)
    by ericwf
  88. Add documentation and tests for Clangs C++11 extensions in C++03.

    As we gear up to drop support for GCC in C++03, we should make clear
    what our C++03 mode is, the C++11 extensions it provides,
    and the C++11 extensions it depends on.

    The section of this document discussing user-facing extensions has
    been left blank while the community discusses new directions. For now
    it's just a warning to users.

    Additionally, the document contains examples of how these extensions
    should be used and why. For example, using alias templates over class
    templates. (detail/ViewSVN)
    by ericwf
  89. Generalize icmp matching in IndVars' eliminateTrunc

    We were only matching RHS being a loop invariant value, not the inverse. Since there's nothing which appears to canonicalize loop invariant values to RHS, this means we missed cases.

    Differential Revision: https://reviews.llvm.org/D63112 (detail/ViewSVN)
    by reames
  90. [libcxx] Mark CTAD tests for set and multiset as unsupported on older Apple Clangs

    Those fail on Green Dragon. (detail/ViewSVN)
    by Louis Dionne
  91. [Analysis] add isSplatValue() for vectors in IR

    We have the related getSplatValue() already in IR (see code just above the proposed addition).
    But sometimes we only need to know that the value is a splat rather than capture the splatted
    scalar value. Also, we have an isSplatValue() function already in SDAG.

    Motivation - recent bugs that would potentially benefit from improved splat analysis in IR:
    https://bugs.llvm.org/show_bug.cgi?id=37428
    https://bugs.llvm.org/show_bug.cgi?id=42174

    Differential Revision: https://reviews.llvm.org/D63138 (detail/ViewSVN)
    by spatel
  92. [PowerPC][NFC]Remove sms-simple.ll test temporarily.

    Looks like a MachinePipeliner algorithm problem found by
    sanitizer-x86_64-linux-fast.
    I will backout this test first while investigating the problem to
    unblock buildbot.

    ==49637==ERROR: AddressSanitizer: heap-buffer-overflow on address
    0x614000002e08 at pc 0x000004364350 bp 0x7ffe228a3bd0 sp 0x7ffe228a3bc8
    READ of size 4 at 0x614000002e08 thread T0
        #0 0x436434f in
    llvm::SwingSchedulerDAG::checkValidNodeOrder(llvm::SmallVector<llvm::NodeSet,
    8u> const&) const
    /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:3736:11
        #1 0x4342cd0 in llvm::SwingSchedulerDAG::schedule()
    /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:486:3
        #2 0x434042d in
    llvm::MachinePipeliner::swingModuloScheduler(llvm::MachineLoop&)
    /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:385:7
        #3 0x433eb90 in
    llvm::MachinePipeliner::runOnMachineFunction(llvm::MachineFunction&)
    /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:207:5
        #4 0x428b7ea in
    llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
    /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachineFunctionPass.cpp:73:13
        #5 0x4d1a913 in llvm::FPPassManager::runOnFunction(llvm::Function&)
    /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1648:27
        #6 0x4d1b192 in llvm::FPPassManager::runOnModule(llvm::Module&)
    /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1685:16
        #7 0x4d1c06d in runOnModule
    /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1752:27
        #8 0x4d1c06d in llvm::legacy::PassManagerImpl::run(llvm::Module&)
    /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1865
        #9 0xa48ca3 in compileModule(char**, llvm::LLVMContext&)
    /b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:611:8
        #10 0xa4270f in main
    /b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:365:22
        #11 0x7fec902572e0 in __libc_start_main
    (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
        #12 0x971b69 in _start
    (/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/bin/llc+0x971b69) (detail/ViewSVN)
    by jsji
  93. [Sanitizers] Add case MACOS_VERSION_CATALINA

    Reviewed By: delcypher

    Differential Revision: https://reviews.llvm.org/D63096 (detail/ViewSVN)
    by yln
  94. [docs] Add "GNU binutils Replacements" section to command guide

    Summary:
    This splits out a section in the command guide for llvm tools that can be used as replacements for GNU tools. For pages that didn't exist, I added stub pages that can be individually filled in by followup patches.

    Tested by running `ninja docs-llvm-html` and inspecting locally.

    Reviewers: jhenderson, MaskRay, grimar, alexshap

    Reviewed By: jhenderson, MaskRay, grimar

    Subscribers: smeenai, arphaman, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63014 (detail/ViewSVN)
    by rupprecht
  95. Mark CTAD fail tests for set/multiset as XFAIL for older compilers that give different error messages (detail/ViewSVN)
    by marshall
  96. XFAIL a couple of tests on apple-clang-9.1, which is a compiler that I didn't know existed (detail/ViewSVN)
    by marshall
  97. [GlobalISel] Add a G_JUMP_TABLE opcode.

    This opcode generates a pointer to the address of the jump table
    specified by the source operand, which is a jump table index.

    It will be used in conjunction with an upcoming G_BRJT opcode to support
    jump table codegen with GlobalISel.

    Differential Revision: https://reviews.llvm.org/D63111 (detail/ViewSVN)
    by aemerson
  98. [scudo][standalone] Unmap memory in tests

    Summary:
    The more tests are added, the more we are limited by the size of the
    address space on 32-bit. Implement `unmapTestOnly` all around (like it
    is in sanitzer_common) to be able to free up some memory.
    This is not intended to be a proper "destructor" for an allocator, but
    allows us to not fail due to having no memory left.

    Reviewers: morehouse, vitalybuka, eugenis, hctim

    Reviewed By: morehouse

    Subscribers: delcypher, jfb, #sanitizers, llvm-commits

    Tags: #llvm, #sanitizers

    Differential Revision: https://reviews.llvm.org/D63146 (detail/ViewSVN)
    by cryptoad
  99. [MemorySSA] When applying updates, clean unnecessary Phis.

    Summary: After applying a set of insert updates, there may be trivial Phis left over. Clean them up.

    Reviewers: george.burgess.iv

    Subscribers: jlebar, Prazek, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63033 (detail/ViewSVN)
    by asbirlea
  100. [NFC][CodeGen] Add unary FNeg tests to X86/combine-fcopysign.ll X86/dag-fmf-cse.ll X86/fast-isel-fneg.ll X86/fdiv.ll (detail/ViewSVN)
    by mcinally
  101. Check in test that demonstrates ABI break for std::function.

    Our C++03 and C++11 implementations of function are not ABI
    compatible. I've added a "test" that demonstrates this. (detail/ViewSVN)
    by ericwf
  102. Only passes that preserve MemorySSA must mark it as preserved.

    Summary:
    The method `getLoopPassPreservedAnalyses` should not mark MemorySSA as
    preserved, because it's being called in a lot of passes that do not
    preserve MemorySSA.
    Instead, mark the MemorySSA analysis as preserved by each pass that does
    preserve it.
    These changes only affect the new pass mananger.

    Reviewers: chandlerc

    Subscribers: mehdi_amini, jlebar, Prazek, george.burgess.iv, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D62536 (detail/ViewSVN)
    by asbirlea
  103. [libc++] Implement deduction guides for <set>

    This is part of C++17's P0433.

    Thanks to Arthur O'Dwyer for the patch.

    Differential Revision: https://reviews.llvm.org/D58582 (detail/ViewSVN)
    by Louis Dionne
  104. Deduplicate S_CONSTANTs in LLD.

    Summary: Deduplicate S_CONSTANTS when linking, if they have the same value.

    Reviewers: rnk

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63151 (detail/ViewSVN)
    by akhuang

Started by upstream project Clang Stage 1: cmake, RA, using system compiler build number 57469
originally caused by:

This run spent:

  • 9.6 sec waiting;
  • 2 hr 12 min build duration;
  • 2 hr 12 min total from scheduled to completion.
LLVM/Clang Warnings: 0 warnings.
  • No warnings since build 17,762.
  • Still 67 days before reaching the previous zero warnings highscore.