Started 2 mo 25 days ago
Took 10 hr on green-dragon-15

Success Build #4181 (Jul 23, 2019 7:22:45 PM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 366866
  • http://llvm.org/svn/llvm-project/cfe/trunk : 366831
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 366834
  • http://llvm.org/svn/llvm-project/lld/trunk : 366836
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 364589
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 366776
  • http://llvm.org/svn/llvm-project/test-suite/trunk : 366290
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 366811
  • http://llvm.org/svn/llvm-project/polly/trunk : 366697
Changes
  1. [AArch64] Fix -Wunused-variable in -DLLVM_ENABLE_ASSERTIONS=off builds after r366857 (detail/ViewSVN)
    by maskray
  2. [SafeStack] Insert the deref before remaining elements

    This is a follow up to D64971. While we need to insert the deref after
    the offset, it needs to come before the remaining elements in the
    original expression since the deref needs to happen before the LLVM
    fragment if present.

    Differential Revision: https://reviews.llvm.org/D65172 (detail/ViewSVN)
    by phosek
  3. [Remarks] String tables should be move-only

    Copying them is expensive. This allows the tables to be moved around at
    lower cost, and allows a remarks::StringTable to be constructed from
    a remarks::ParsedStringTable. (detail/ViewSVN)
    by thegameg
  4. [FileCheck] Use ASSERT for fatal unit tests

    Summary:
    A number of EXPECT statements in FileCheck's unit tests are dependent
    from results of other values being tested. This commit changes those
    earlier test to use ASSERT instead of EXPECT to avoid cascade errors
    when they are all related to the same issue.

    Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk

    Subscribers: JonChesterfield, rogfer01, hfinkel, kristina, rnk, tra, arichardson, grimar, dblaikie, probinson, llvm-commits, hiraditya

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64921 (detail/ViewSVN)
    by thopre
  5. [FileCheck]] Canonicalize caret location testing

    Summary:
    Testing of caret location in diagnostic message is currently made with
    CHECK directive with the following general format:
    CHECK: {{^         \^$}}

    James Henderson suggested the following would be more readable:
    CHECK: {{^}}         ^{{$}}

    and when whole lines can be matched (as is the case for command-line
    testing where error messages do not include path):
    CHECK:         ^
    using the option --match-full-lines.

    This commit implements these 2 changes on all existing caret position
    tests. It also aligns the caret to the character it is trying to match
    in the above line.

    Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk

    Subscribers: JonChesterfield, rogfer01, hfinkel, kristina, rnk, tra, arichardson, grimar, dblaikie, probinson, llvm-commits, hiraditya

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64923 (detail/ViewSVN)
    by thopre
  6. FileCheck [8/12]: Define numeric var from expr

    Summary:
    This patch is part of a patch series to add support for FileCheck
    numeric expressions. This specific patch lift the restriction for a
    numeric expression to either be a variable definition or a numeric
    expression to try to match.

    This commit allows a numeric variable to be set to the result of the
    evaluation of a numeric expression after it has been matched
    successfully. When it happens, the variable is allowed to be used on
    the same line since its value is known at match time.

    It also makes use of this possibility to reuse the parsing code to
    parse a command-line definition by crafting a mirror string of the
    -D option with the equal sign replaced by a colon sign, e.g. for option
    '-D#NUMVAL=10' it creates the string
    '-D#NUMVAL=10 (parsed as [[#NUMVAL:10]])' where the numeric expression
    is parsed to define NUMVAL. This result in a few tests needing updating
    for the location diagnostics on top of the tests for the new feature.

    It also enables empty numeric expression which match any number without
    defining a variable. This is done here rather than in commit #5 of the
    patch series because it requires to dissociate automatic regex insertion
    in RegExStr from variable definition which would make commit #5 even
    bigger than it already is.

    Copyright:
        - Linaro (changes up to diff 183612 of revision D55940)
        - GraphCore (changes in later versions of revision D55940 and
                     in new revision created off D55940)

    Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk

    Subscribers: hiraditya, llvm-commits, probinson, dblaikie, grimar, arichardson, tra, rnk, kristina, hfinkel, rogfer01, JonChesterfield

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D60388 (detail/ViewSVN)
    by thopre
  7. [DWARF] Use 32-bit format specifier for offset

    This should fix PR42730. (detail/ViewSVN)
    by Jonas Devlieghere
  8. [AArch64][GlobalISel] Add support for s128 loads, stores, extracts, truncs.

    We need to be able to load and store s128 for memcpy inlining, where we want to
    generate Q register mem ops. Making these legal also requires that we add some
    support in other instructions. Regbankselect should also know about these since
    they have no GPR register class that can hold them, so need special handling to
    live on the FPR bank.

    Differential Revision: https://reviews.llvm.org/D65166 (detail/ViewSVN)
    by aemerson
  9. Fix "control reaches end of non-void function" warning. NFCI. (detail/ViewSVN)
    by rksimon
  10. [docs] Clarify where the indirect UB due to write-write races comes from

    This is based on https://bugs.llvm.org/show_bug.cgi?id=42435#c3.

    Patch by Ralf Jung. (detail/ViewSVN)
    by efriedma
  11. [GlobalISel][AArch64] Save a copy on G_SELECT by fixing condition to GPR

    The condition can never be fed by FPRs, so it should always be on a GPR.

    Differential Revision: https://reviews.llvm.org/D65157 (detail/ViewSVN)
    by paquette
  12. [ARM] Add opt-bisect support to ARMParallelDSP. (detail/ViewSVN)
    by efriedma
  13. [Remarks] Introduce a new format: yaml-strtab

    This exposes better support to use a string table with a format through
    an actual new remark::Format, called yaml-strtab.

    This can now be used with -fsave-optimization-record=yaml-strtab. (detail/ViewSVN)
    by thegameg
  14. [Remarks][NFC] Move the YAML serializer to its own header (detail/ViewSVN)
    by thegameg
  15. [PowerPC] Remove redundant load immediate instructions

    Currently PowerPC backend emits code like this:

      r3 = li 0
      std r3, 264(r1)
      r3 = li 0
      std r3, 272(r1)

    This patch fixes that and other cases where a register already contains a value that is loaded so we will get:

      r3 = li 0
      std r3, 264(r1)
      std r3, 272(r1)

    Differential Revision: https://reviews.llvm.org/D64220 (detail/ViewSVN)
    by yi-hong.lyu
  16. gn build: Merge r366832 (detail/ViewSVN)
    by nico
  17. ld.lld: Demangle symbols from archives in diagnostics

    This ports r366573 from COFF to ELF.

    There are now to toString(Archive::Symbol), one doing MSVC demangling
    in COFF and one doing Itanium demangling in ELF, so rename these two
    to toCOFFString() and to toELFString() to not get a duplicate symbol.

    Nothing ever passes a raw Archive::Symbol to CHECK(), so these not
    being part of the normal toString() machinery seems ok.

    There are two code paths in the ELF linker that emits this type of
    diagnostic:

    1. The "normal" one in InputFiles.cpp. This is covered by the tweaked test.

    2. An additional one that's only used for libcalls if there's at least
       one bitcode in the link, and if the libcall symbol is lazy, and
       lazily loaded from an archive (i.e. not from a lazy .o file).
       (This code path was added in r339301.) Since all libcall names so far
       are C symbols and never mangled, the change there is not observable
       and hence not covered by tests.

    Differential Revision: https://reviews.llvm.org/D65095 (detail/ViewSVN)
    by nico
  18. [X86] In lowerVectorShuffle, instead of creating a new node to canonicalize the shuffle mask by commuting, just commute the mask and swap V1/V2.

    LegalizeDAG tries to legal the DAG by legalizing nodes before
    their operands.

    If we create a new node, we end up legalizing it after its operands.
    This prevents some of the optimizations that can be done when the
    operand is a build_vector since the build_vector will have been
    legalized to something else.

    Differential Revision: https://reviews.llvm.org/D65132 (detail/ViewSVN)
    by ctopper
  19. [libFuzzer] Fix __sanitizer_print_memory_profile return type in ExtFunctions.def

    Summary:
    Looks like a typo, as that function actually returns void and is used
    as such in libFuzzer code as well.

    Reviewers: kcc, Dor1s

    Reviewed By: Dor1s

    Subscribers: delcypher, #sanitizers, llvm-commits

    Tags: #llvm, #sanitizers

    Differential Revision: https://reviews.llvm.org/D65160 (detail/ViewSVN)
    by dor1s
  20. [Remarks] Add unit tests for YAML serialization

    Add tests for both the string table and non string table case. (detail/ViewSVN)
    by thegameg
  21. clang-format: Fix namespace end comments for namespaces with attributes and macros.

    Fixes PR39247.

    While here, also make C++20 `namespace A::inline B::inline C` nested
    inline namespaced definitions work.

    Before:
        #define DEPRECATE_WOOF [[deprecated("meow")]]

        namespace DEPRECATE_WOOF woof {
        void f() {}
        } // namespace DEPRECATE_WOOFwoof

        namespace [[deprecated("meow")]] woof {
          void f() {}
        } // namespace [[deprecated("meow")]]woof

        namespace woof::inline bark {
          void f() {}
        } // namespace woof::inlinebark

    Now:
        #define DEPRECATE_WOOF [[deprecated("meow")]]

        namespace DEPRECATE_WOOF woof {
        void f() {}
        } // namespace woof

        namespace [[deprecated("meow")]] woof {
        void f() {}
        } // namespace woof

        namespace woof::inline bark {
        void f() {}
        } // namespace woof::inline bark

    (In addition to the fixed namespace end comments, also note the correct
    indent of the namespace contents.)

    Differential Revision: https://reviews.llvm.org/D65125 (detail/ViewSVN)
    by nico
  22. [IndVars] Fix a subtle bug in optimizeLoopExits

    The original code failed to account for the fact that one exit can have a pointer exit count without all of them having pointer exit counts.  This could cause two separate bugs:
    1) We might exit the loop early, and leave optimizations undone.  This is what triggered the assertion failure in the reported test case.
    2) We might optimize one exit, then exit without indicating a change.  This could result in an analysis invalidaton bug if no other transform is done by the rest of indvars.

    Note that the pointer exit counts are a really fragile concept.  They show up only when we have a pointer IV w/o a datalayout to provide their size.  It's really questionable to me whether the complexity implied is worth it. (detail/ViewSVN)
    by reames
  23. Improve clang-format-diff help output

    The description in clang-format-diff.py is more useful than the one
    in `clang-format-diff -h`, so use the same description in both places.

    Differential Revision: https://reviews.llvm.org/D64998 (detail/ViewSVN)
    by nico
  24. [IR][Verifier] Allow IntToPtrInst to be !dereferenceable

    Summary:
    Allow IntToPtrInst to carry !dereferenceable metadata tag.
    This is valid since !dereferenceable can be only be applied to
    pointer type values.

    Change-Id: If8a6e3c616f073d51eaff52ab74535c29ed497b4

    Subscribers: llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64954 (detail/ViewSVN)
    by rtayl
  25. [RISCV][NFC] Correct RUN in rvi-pseudos-invalid.s

    This test should test both riscv32 and riscv64. (detail/ViewSVN)
    by lenary
  26. [clang][NFCI] Fix random typos (detail/ViewSVN)
    by Jan Korous

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

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

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

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

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

This run spent:

  • 9 hr 30 min waiting;
  • 10 hr build duration;
  • 19 hr total from scheduled to completion.
LLVM/Clang Warnings: 2 warnings.