Started 7 days 1 hr ago
Took 2 hr 40 min on green-dragon-22

Failed Build rL:363085 - C:363088 - #57417 (Jun 11, 2019 10:50:32 AM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 363085
  • http://llvm.org/svn/llvm-project/cfe/trunk : 363088
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 363071
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 362745
  • http://llvm.org/svn/llvm-project/zorg/trunk : 363061
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 363092
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 363068
Changes
  1. 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
  2. [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
  3. Remove redundant check for whether a DeclRefExpr that names a capture
    constitutes an odr-use.

    We now track this accurately on the DeclRefExpr. (detail/ViewSVN)
    by rsmith
  4. For DR712: store on a MemberExpr whether it constitutes an odr-use. (detail/ViewSVN)
    by rsmith
  5. For DR712: store on a DeclRefExpr whether it constitutes an odr-use.

    Begin restructuring to support the forms of non-odr-use reference
    permitted by DR712. (detail/ViewSVN)
    by rsmith
  6. [PowerPC] Enable MachinePipeliner for P9 with -ppc-enable-pipeliner

    Implement necessary target hooks to enable MachinePipeliner for P9 only.
    The pass is off by default, can be enabled with -ppc-enable-pipeliner for P9.

    Differential Revision: https://reviews.llvm.org/D62164 (detail/ViewSVN)
    by jsji
  7. [NFC][CodeGen] Add unary fneg tests to X86/fma-fneg-combine.ll (detail/ViewSVN)
    by mcinally
  8. [Path] Set FD to -1 in moved-from TempFile

    When moving a temp file, explicitly set the file descriptor to -1 so we
    can never accidentally close the moved-from TempFile.

    Differential revision: https://reviews.llvm.org/D63087 (detail/ViewSVN)
    by Jonas Devlieghere
  9. [InstCombine] Handle -(X-Y) --> (Y-X) for unary fneg when NSZ

    Differential Revision: https://reviews.llvm.org/D62612 (detail/ViewSVN)
    by mcinally
  10. [docs][llvm-nm] Add darwin as --format option (detail/ViewSVN)
    by jhenderson
  11. [InstCombine] Update fptrunc (fneg x)) -> (fneg (fptrunc x) for unary FNeg

    Differential Revision: https://reviews.llvm.org/D62629 (detail/ViewSVN)
    by mcinally
  12. Fix docs build issue introduced by r363035

    Replacing '.. code-block:: llvm' by '::' is a quick fix to the
    build warning/error: Could not lex literal_block as "llvm". (detail/ViewSVN)
    by s.desmalen
  13. lld-link: Reject more than one resource .obj file

    Users are exepcted to pass all .res files to the linker, which then
    merges all the resource in all .res files into a tree structure and then
    converts the final tree structure to a .obj file with .rsrc$01 and
    .rsrc$02 sections and then links that.

    If the user instead passes several .obj files containing such resources,
    the correct thing to do would be to have custom code to merge the trees
    in the resource sections instead of doing normal section merging -- but
    link.exe rejects if multiple resource obj files are passed in with
    LNK4078, so let lld-link do that too instead of silently writing broken
    .rsrc sections in that case.

    The only real way to run into this is if users manually convert .res
    files to .obj files by running cvtres and then handing the resulting
    .obj files to lld-link instead, which in practice likely never happens.

    (lld-link is slightly stricter than link.exe now: If link.exe is passed
    one .obj file created by cvtres, and a .res file, for some reason it
    just emits a warning instead of an error and outputs strange looking
    data. lld-link now errors out on mixed input like this.)

    One way users could accidentally run into this is the following
    scenario: If a .res file is passed to lib.exe, then lib.exe calls
    cvtres.exe on the .res file before putting it in the output .lib.
    (llvm-lib currently doesn't do this.)
    link.exe's /wholearchive seems to only add obj files referenced from the
    static library index, but lld-link current really adds all files in the
    archive. So if lld-link /wholearchive is used with .lib files produced
    by lib.exe and .res files were among the files handed to lib.exe, we
    previously silently produced invalid output, but now we error out.

    link.exe's /wholearchive semantics on the other hand mean that it
    wouldn't load the resource object files from the .lib file at all.
    Since this scenario is probably still an unlikely corner case,
    the difference in behavior here seems fine -- and lld-link might have to
    change to use link.exe's /wholearchive semantics in the future anyways.

    Vaguely related to PR42180.

    Differential Revision: https://reviews.llvm.org/D63109 (detail/ViewSVN)
    by nico
  14. [X86] Regenerate CmpISel test for future patch (detail/ViewSVN)
    by rksimon
  15. Revert r344630 Disable code object version 3 for HIP toolchain.

    Remove the workaround so that by default code object v3 is enabled. (detail/ViewSVN)
    by yaxunl
  16. [libcxx] Make std::tuple<> trivially constructible

    Summary:
    This is not mandated by the Standard, but it's nonetheless a nice
    property to have, especially since it's so easy to implement. It
    also shrinks our bug list!

    PR41714

    Reviewers: mclow.lists, EricWF

    Subscribers: christof, jkorous, dexonsmith, libcxx-commits

    Tags: #libc

    Differential Revision: https://reviews.llvm.org/D62618 (detail/ViewSVN)
    by Louis Dionne
  17. Fix for r42230, MSVC test failure in DependencyDirectivesSourceMinimizerTest.cpp

    r362459 introduced DependencyDirectivesSourceMinimizerTest.cpp, which
    hits an MSVC bug:
    developercommunity.visualstudio.com/content/problem/67300/stringifying-raw-string-literal.html

    This only happens when the parameter to a macro is stringified in the
    macro.  This patch removes the string from the assert so that the
    warning no longer happens. (detail/ViewSVN)
    by erichkeane
  18. [docs][llvm-nm] Make --help help text consistent with other options (detail/ViewSVN)
    by jhenderson
  19. [libcxx] Slightly improved policy for handling experimental features

    Summary:
    Following the discussion on the libcxx-dev mailing list
    (http://lists.llvm.org/pipermail/libcxx-dev/2019-May/000358.html),
    this implements the new policy for handling experimental features and
    their deprecation. We basically add a deprecation warning for
    std::experimental::filesystem, and we remove a bunch of <experimental/*>
    headers that were now empty.

    Reviewers: mclow.lists, EricWF

    Subscribers: mgorny, christof, jkorous, dexonsmith, arphaman, libcxx-commits, jfb

    Tags: #libc

    Differential Revision: https://reviews.llvm.org/D62428 (detail/ViewSVN)
    by Louis Dionne
  20. Add FuzzedDataProvider helper class / single header library.

    Summary:
    This class is useful for writing fuzz target that have multiple inputs.

    Current CL imports the existing `FuzzedDataProvider` from Chromium
    without any modifications. Feel free to review it thoroughly, if you're
    interested, but I'd prefer changing the class in a follow up CL.

    The CL also introduces an exhaustive test for the library, as the behavior
    of `FuzzedDataProvider` must not change over time.

    In follow up CLs I'm planning on changing some implementation details
    (I can share a doc with some comments to be addressed). After that, we
    will document how `FuzzedDataProvider` should be used.

    I have tested this on Linux, Windows and Mac platforms.

    Reviewers: morehouse, metzman, kcc

    Reviewed By: morehouse

    Subscribers: metzman, thakis, rnk, mgorny, ormris, delcypher, #sanitizers, llvm-commits

    Tags: #llvm, #sanitizers

    Differential Revision: https://reviews.llvm.org/D62733 (detail/ViewSVN)
    by dor1s
  21. [NFC][PowerPC] Header-dependent test requires "native"

    Two recently added tests mention complications for cross-compile, but
    they do not actually enforce native compilation. This patch makes them
    require native compilation to avoid the complications they mention. (detail/ViewSVN)
    by hubert.reinterpretcast
  22. Reapply r362994 & co "[analyzer][tests] Add normalize_plist to replace diff_plist"

    Following r363007, which reverted r362998, r362996, and r362994,
    reapply with adjustments for the CRLF differences encountered with
    Windows. Namely, the `-b` option of `diff` is employed, and the `grep`
    patterns have `$` replaced with `[[:space:]]*$`. (detail/ViewSVN)
    by hubert.reinterpretcast
  23. [clang-tidy] Fix invalid read on destruction

    ...in case the clang tidy plugin is linked into the clang binary.

    Valgrind's memcheck reports:

    8949== Invalid read ==8866== Invalid read of size 4
    8866== at 0x164D248B: fetch_sub (atomic_base.h:524)
    8866== by 0x164D248B: llvm::ThreadSafeRefCountedBase<clang::ast_matchers::internal::DynMatcherInterface>::Release() const (IntrusiveRefCntPtr.h:98)
    8866== by 0x164CE16C: llvm::IntrusiveRefCntPtrInfo<clang::ast_matchers::internal::DynMatcherInterface>::release(clang::ast_matchers::internal::DynMatcherInterface*) (IntrusiveRefCntPtr.h:127)
    8866== by 0x164C8D5C: llvm::IntrusiveRefCntPtr<clang::ast_matchers::internal::DynMatcherInterface>::release() (IntrusiveRefCntPtr.h:190)
    8866== by 0x164C3B87: llvm::IntrusiveRefCntPtr<clang::ast_matchers::internal::DynMatcherInterface>::~IntrusiveRefCntPtr() (IntrusiveRefCntPtr.h:157)
    8866== by 0x164BB4F1: clang::ast_matchers::internal::DynTypedMatcher::~DynTypedMatcher() (ASTMatchersInternal.h:341)
    8866== by 0x164BB529: clang::ast_matchers::internal::Matcher<clang::QualType>::~Matcher() (ASTMatchersInternal.h:496)
    8866== by 0xD7AE614: __cxa_finalize (cxa_finalize.c:83)
    8866== by 0x164B3082: ??? (in /d2/llvm/8/qtc/builds/DebugShared/lib/libclangTidyModernizeModule.so.8)
    8866== by 0x4010B72: _dl_fini (dl-fini.c:138)
    8866== by 0xD7AE040: __run_exit_handlers (exit.c:108)
    8866== by 0xD7AE139: exit (exit.c:139)
    8866== by 0xD78CB9D: (below main) (libc-start.c:344)
    8866== Address 0x19dd9bc8 is 8 bytes inside a block of size 16 free'd
    8866== at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    8866== by 0x1469BB99: clang::ast_matchers::internal::(anonymous namespace)::TrueMatcherImpl::~TrueMatcherImpl() (ASTMatchersInternal.cpp:126)
    8866== by 0x1469BBC5: llvm::object_deleter<clang::ast_matchers::internal::(anonymous namespace)::TrueMatcherImpl>::call(void*) (ManagedStatic.h:30)
    8866== by 0x9ABFF26: llvm::ManagedStaticBase::destroy() const (ManagedStatic.cpp:72)
    8866== by 0x9ABFF94: llvm::llvm_shutdown() (ManagedStatic.cpp:84)
    8866== by 0x9A65232: llvm::InitLLVM::~InitLLVM() (InitLLVM.cpp:52)
    8866== by 0x14B0C8: main (driver.cpp:323)
    8866== Block was alloc'd at
    8866== at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    8866== by 0x1469BB36: llvm::object_creator<clang::ast_matchers::internal::(anonymous namespace)::TrueMatcherImpl>::call() (ManagedStatic.h:24)
    8866== by 0x9ABFD99: llvm::ManagedStaticBase::RegisterManagedStatic(void* (*)(), void (*)(void*)) const (ManagedStatic.cpp:42)
    8866== by 0x1469B5DF: llvm::ManagedStatic<clang::ast_matchers::internal::(anonymous namespace)::TrueMatcherImpl, llvm::object_creator<clang::ast_matchers::internal::(anonymous namespace)::TrueMatcherImpl>, llvm::object_deleter<clang::ast_matchers::internal::(anonymous namespace)::TrueMatcherImpl> >::operator*() (ManagedStatic.h:67)
    8866== by 0x14698F9D: clang::ast_matchers::internal::DynTypedMatcher::trueMatcher(clang::ast_type_traits::ASTNodeKind) (ASTMatchersInternal.cpp:195)
    8866== by 0x164C9D3B: _ZNK5clang12ast_matchers8internal11TrueMatchercvNS1_7MatcherIT_EEINS_8QualTypeEEEv (ASTMatchersInternal.h:1247)
    8866== by 0x16501458: __static_initialization_and_destruction_0(int, int) (LoopConvertCheck.cpp:48)
    8866== by 0x16501976: _GLOBAL__sub_I_LoopConvertCheck.cpp (LoopConvertCheck.cpp:920)
    8866== by 0x4010732: call_init (dl-init.c:72)
    8866== by 0x4010732: _dl_init (dl-init.c:119)
    8866== by 0x40010C9: ??? (in /lib/x86_64-linux-gnu/ld-2.27.so)

    Differential Revision: https://reviews.llvm.org/D63129 (detail/ViewSVN)
    by nik
  24. [libclang] Allow skipping warnings from all included files

    Depending on the included files and the used warning flags, e.g. -
    Weverything, a huge number of warnings can be reported for included
    files. As processing that many diagnostics comes with a performance
    impact and not all clients are interested in those diagnostics, add a
    flag to skip them.

    Differential Revision: https://reviews.llvm.org/D48116 (detail/ViewSVN)
    by nik
  25. [llvm-dwarfdump] Simplify --ignore-case help text and documentation

    There was a typo in the --ignore-case help text that was copied into the
    llvm-dwarfdump command-guide. Additionally, this patch simplifies the
    wording, since it was unnecessarily verbose: the switch applies for
    searching in general and doesn't need explicitly stating different
    search modes (which might go out-of-date as options are added or
    removed).

    Reviwed by: JDevlieghere

    Differential Revision: https://reviews.llvm.org/D63133 (detail/ViewSVN)
    by jhenderson
  26. [docs][llvm-nm] Fix documentation regarding llvm-nm reading stdin

    llvm-nm reads a.out NOT stdin when no input file is specified. This
    patch fixes the doc accordingly, and rephrases the surrounding sentence
    slightly.

    Reviewed by: grimar

    Differential Revision: https://reviews.llvm.org/D63135 (detail/ViewSVN)
    by jhenderson
  27. [ARM] Fix a typo in the test from r363039 (detail/ViewSVN)
    by ibiryukov
  28. [ASTImporter] Fix unhandled cases in ASTImporterLookupTable

    Summary:
    In most cases the FriendDecl contains the declaration of the befriended
    class as a child node, so it is discovered during the recursive
    visitation. However, there are cases when the befriended class is not a
    child, thus it must be fetched explicitly from the FriendDecl, and only
    then can we add it to the lookup table.
    (Note, this does affect only CTU and does not affect LLDB, because we
    cannot and do not use the ASTImporterLookupTable in LLDB.)

    Reviewers: a_sidorin, a.sidorin, shafik

    Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D62064 (detail/ViewSVN)
    by martong
  29. [lldb-cmake-standalone] When invoking llmv-lit manually, make sure to build lldb-test-deps first (detail/ViewSVN)
    by stefan.graenitz
  30. [RISCV] Add lowering of addressing sequences for PIC

    This patch allows lowering of PIC addresses by using PC-relative
    addressing for DSO-local symbols and accessing the address through the
    global offset table for non-DSO-local symbols.

    Differential Revision: https://reviews.llvm.org/D55303 (detail/ViewSVN)
    by lewis-revill
  31. [RISCV][NFC] Add missing test file for D54093 (detail/ViewSVN)
    by lewis-revill
  32. [RISCV][NFC] Add missing test files for D54091 (detail/ViewSVN)
    by lewis-revill
  33. [RISCV] Add inline asm constraints I, J & K for RISC-V

    This allows the constraints I, J & K to be used in inline asm for
    RISC-V, with the following semantics (equivalent to GCC):

    I: Any 12-bit signed immediate.
    J: Integer zero only.
    K: Any 5-bit unsigned immediate.

    See the GCC definitions here:
    https://gcc.gnu.org/onlinedocs/gccint/Machine-Constraints.html

    Differential Revision: https://reviews.llvm.org/D54091 (detail/ViewSVN)
    by lewis-revill
  34. [RISCV] Lower inline asm constraints I, J & K for RISC-V

    This validates and lowers arguments to inline asm nodes which have the
    constraints I, J & K, with the following semantics (equivalent to GCC):

    I: Any 12-bit signed immediate.
    J: Immediate integer zero only.
    K: Any 5-bit unsigned immediate.

    Differential Revision: https://reviews.llvm.org/D54093 (detail/ViewSVN)
    by lewis-revill
  35. [clang-tidy] Fix typo in bugprone-string-constructor.

    s/bigger then/bigger than/ (detail/ViewSVN)
    by courbet
  36. Make sure a test from r363036 does not write into a working directory

    It breaks if build directory is not writable. This change is required
    to fix our integrate.

    Also add a flush() call, otherwise time trace option does not produce
    the full output. (detail/ViewSVN)
    by ibiryukov
  37. [ARM] First MVE instructions: scalar shifts.

    This introduces a new decoding table for MVE instructions, and starts
    by adding the family of scalar shift instructions that are part of the
    MVE architecture extension: saturating shifts within a single GPR, and
    long shifts across a pair of GPRs (both saturating and normal).

    Some of these shift instructions have only 3-bit register fields in
    the encoding, with the low bit fixed. So they can only address an odd
    or even numbered GPR (depending on the operand), and therefore I add
    two new register classes, GPREven and GPROdd.

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

    Change-Id: Iad95d5f83d26aef70c674027a184a6b1e0098d33 (detail/ViewSVN)
    by miyuki
  38. Let writeWindowsResourceCOFF() take a TimeStamp parameter

    For lld, pass in Config->Timestamp (which is set based on lld's
    /timestamp: and /Brepro flags). Since the writeWindowsResourceCOFF()
    data is only used in-memory by LLD and the obj's timestamp isn't used
    for anything in the output, this doesn't change behavior.

    For llvm-cvtres, add an optional /timestamp: parameter, and use the
    current behavior of calling time() if the parameter is not passed in.

    This doesn't really change observable behavior (unless someone passes
    /timestamp: to llvm-cvtres, which wasn't possible before), but it
    removes the last unqualified call to time() from llvm/lib, which seems
    like a good thing.

    Differential Revision: https://reviews.llvm.org/D63116 (detail/ViewSVN)
    by nico
  39. [NFC] Fixed arm/aarch64 test (detail/ViewSVN)
    by xbolva00
  40. [TargetLowering] Add allowsMemoryAccess(MachineMemOperand) helper wrapper. NFCI.

    As suggested by @arsenm on D63075 - this adds a TargetLowering::allowsMemoryAccess wrapper that takes a Load/Store node's MachineMemOperand to handle the AddressSpace/Alignment arguments and will also implicitly handle the MachineMemOperand::Flags change in D63075. (detail/ViewSVN)
    by rksimon
  41. Fixed google-readability-casting test to work in c++17

    Summary: Fixed google-readability-casting.cpp to get tests working in c++17

    Reviewers: gribozavr, hokein

    Reviewed By: gribozavr

    Subscribers: cfe-commits

    Tags: #clang

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

    Patch by Shaurya Gupta. (detail/ViewSVN)
    by gribozavr
  42. [DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion

    Summary:
    Bug: https://bugs.llvm.org/show_bug.cgi?id=39024

    The bug reports that a vectorized loop is stepped through 4 times and each step through the loop seemed to show a different path. I found two problems here:

    A) An incorrect line number on a preheader block (for.body.preheader) instruction causes a step into the loop before it begins.
    B) Instructions in the middle block have different line numbers which give the impression of another iteration.

    In this patch I give all of the middle block instructions the line number of the scalar loop latch terminator branch. This seems to provide the smoothest debugging experience because the vectorized loops will always end on this line before dropping into the scalar loop. To solve problem A I have altered llvm::SplitBlockPredecessors to accommodate loop header blocks.

    I have set up a separate review D61933 for a fix which is required for this patch.

    Reviewers: samsonov, vsk, aprantl, probinson, anemet, hfinkel, jmorse

    Reviewed By: hfinkel, jmorse

    Subscribers: jmorse, javed.absar, eraman, kcc, bjope, jmellorcrummey, hfinkel, gbedwell, hiraditya, zzheng, llvm-commits

    Tags: #llvm, #debug-info

    Differential Revision: https://reviews.llvm.org/D60831 (detail/ViewSVN)
    by orlandoch
  43. [llvm-readobj] - Do not use precompiled binary in elf-broken-dynsym-link.test

    Now we can remove the "TODO" since https://bugs.llvm.org/show_bug.cgi?id=42216
    was fixed. (detail/ViewSVN)
    by grimar
  44. [llvm-dwarfdump] Add -o to help text and remove --out-file from doc

    -o is in the documentation, but not in the llvm-dwarfdump help text.
    This patch adds it by inverting the -o and --out-file aliasing. It also
    removes --out-file from the documentation, since we don't really want
    people to be using this switch in practice.

    Reviewed by: aprantl, JDevlieghere, dblaikie

    Differential Revision: https://reviews.llvm.org/D63013 (detail/ViewSVN)
    by jhenderson
  45. [ARM] Fix unused-variable warning in rL363039.

    The variable `OffsetMask` is currently only used in an assertion, so
    if assertions are compiled out and -Werror is enabled, it becomes a
    build failure. (detail/ViewSVN)
    by statham
  46. [yaml2elf] - Check we are able to set custom sh_link for .symtab/.dynsym

    Allow using both custom numeric and string values for Link field of the
    dynamic and regular symbol tables.

    Differential revision: https://reviews.llvm.org/D63077 (detail/ViewSVN)
    by grimar
  47. [Frontend] Avoid creating auxilary files during a unit test. NFC

    A test added in r363009 logs diagnostics into a file inside current
    working directory. This breaks when the directory is not writable.

    This looks like a debugging output in the first place, the test passes
    without it anyway. (detail/ViewSVN)
    by ibiryukov
  48. [DAGCombine] GetNegatedExpression - constant float vector support (PR42105)

    Add support for negation of constant build vectors.

    Differential Revision: https://reviews.llvm.org/D62963 (detail/ViewSVN)
    by rksimon
  49. [ARM] Add the non-MVE instructions in Arm v8.1-M.

    This adds support for the new family of conditional selection /
    increment / negation instructions; the low-overhead branch
    instructions (e.g. BF, WLS, DLS); the CLRM instruction to zero a whole
    list of registers at once; the new VMRS/VMSR and VLDR/VSTR
    instructions to get data in and out of 8.1-M system registers,
    particularly including the new VPR register used by MVE vector
    predication.

    To support this, we also add a register name 'zr' (used by the CSEL
    family to force one of the inputs to the constant 0), and operand
    types for lists of registers that are also allowed to include APSR or
    VPR (used by CLRM). The VLDR/VSTR instructions also need a new
    addressing mode.

    The low-overhead branch instructions exist in their own separate
    architecture extension, which we treat as enabled by default, but you
    can say -mattr=-lob or equivalent to turn it off.

    Reviewers: dmgreen, samparker, SjoerdMeijer, t.p.northover

    Reviewed By: samparker

    Subscribers: miyuki, javed.absar, kristof.beyls, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D62667 (detail/ViewSVN)
    by statham
  50. [compiler-rt] Update comments in asan header to doxygen format; NFC.

    Add description to undocumented functions.
    Improve spelling, grammar and formatting.

    Patch by: Craig Flores, Filipe Cabecinhas, Pierre Gousseau

    Reviewed By: Johannes Doerfert

    Differential Revision: https://reviews.llvm.org/D62245 (detail/ViewSVN)
    by pgousseau
  51. [clangd] Add missing header guard. (detail/ViewSVN)
    by hokein
  52. [Support][Test] Time profiler: add regression test

    Summary:
    Add output to `llvm::errs()` when `-ftime-trace` option is enabled,
    add regression test checking this option works as expected.

    Reviewers: thakis, aganea

    Subscribers: cfe-commits, llvm-commits

    Tags: #clang, #llvm

    This is recommit of r362821

    Differential Revision: https://reviews.llvm.org/D61914 (detail/ViewSVN)
    by anton-afanasyev
  53. Change semantics of fadd/fmul vector reductions.

    This patch changes how LLVM handles the accumulator/start value
    in the reduction, by never ignoring it regardless of the presence of
    fast-math flags on callsites. This change introduces the following
    new intrinsics to replace the existing ones:

      llvm.experimental.vector.reduce.fadd -> llvm.experimental.vector.reduce.v2.fadd
      llvm.experimental.vector.reduce.fmul -> llvm.experimental.vector.reduce.v2.fmul

    and adds functionality to auto-upgrade existing LLVM IR and bitcode.

    Reviewers: RKSimon, greened, dmgreen, nikic, simoll, aemerson

    Reviewed By: nikic

    Differential Revision: https://reviews.llvm.org/D60261 (detail/ViewSVN)
    by s.desmalen
  54. [clangd] Fix gcc warning by removing extra ";" (detail/ViewSVN)
    by uabelho
  55. Add LLVM lab buildslaves for Windows (armv7 target).

    The ARMV7 buildslave configurations for a new hardware in LLVM lab.

    Requested for the production buildbot http://lab.llvm.org:8011

    Patch by Vlad Vereschaka.

    Differential Revision: https://reviews.llvm.org/D63103 (detail/ViewSVN)
    by gkistanova
  56. [X86] Add load folding isel patterns to scalar_math_patterns and AVX512_scalar_math_fp_patterns.

    Also add a FIXME for the peephole pass not being able to handle this. (detail/ViewSVN)
    by ctopper
  57. Add a test for is_base_of and incomplete types. Because this trait uses a compiler intrinsic which was broken in many clangs, have lots of XFAILs. (detail/ViewSVN)
    by marshall
  58. Revert CMake: Make most target symbols hidden by default

    This reverts r362990 (git commit 374571301dc8e9bc9fdd1d70f86015de198673bd)

    This was causing linker warnings on Darwin:

    ld: warning: direct access in function 'llvm::initializeEvexToVexInstPassPass(llvm::PassRegistry&)'
    from file '../../lib/libLLVMX86CodeGen.a(X86EvexToVex.cpp.o)' to global weak symbol
    'void std::__1::__call_once_proxy<std::__1::tuple<void* (&)(llvm::PassRegistry&),
    std::__1::reference_wrapper<llvm::PassRegistry>&&> >(void*)' from file '../../lib/libLLVMCore.a(Verifier.cpp.o)'
    means the weak symbol cannot be overridden at runtime. This was likely caused by different translation
    units being compiled with different visibility settings. (detail/ViewSVN)
    by tstellar
  59. Symbolize: Make DWPName a symbolizer option instead of an argument to symbolize{,Inlined}Code.

    This makes the interface simpler and more consistent with the interface for
    .dSYM files and fixes a bug where llvm-symbolizer would not read the dwp if
    it was asked to symbolize data before symbolizing code.

    Differential Revision: https://reviews.llvm.org/D63114 (detail/ViewSVN)
    by pcc
  60. Symbolize: Replace the Options constructor with in-class initialization. NFCI.

    This is not only less code but also clearer at the use site.

    Differential Revision: https://reviews.llvm.org/D63113 (detail/ViewSVN)
    by pcc
  61. AtomicExpand: Don't crash on non-0 alloca

    This now produces garbage on AMDGPU with a call to an nonexistent,
    anonymous libcall but won't assert. (detail/ViewSVN)
    by arsenm
  62. AMDGPU: Expand < 32-bit atomics

    Also fix AtomicExpand asserting on atomicrmw fadd/fsub. (detail/ViewSVN)
    by arsenm
  63. gn build: Merge r362939 (detail/ViewSVN)
    by nico
  64. gn build: Merge r362972 (detail/ViewSVN)
    by nico
  65. [X86] Enable intrinsics that convert float and bf16 data to each other

    Scalar version :
    _mm_cvtsbh_ss , _mm_cvtness_sbh

    Vector version:
    _mm512_cvtpbh_ps , _mm256_cvtpbh_ps
    _mm512_maskz_cvtpbh_ps , _mm256_maskz_cvtpbh_ps
    _mm512_mask_cvtpbh_ps , _mm256_mask_cvtpbh_ps

    Patch by Shengchen Kan (skan)

    Differential Revision: https://reviews.llvm.org/D62363 (detail/ViewSVN)
    by pengfei
  66. llvm-lib: Implement /machine: argument

    And share some code with lld-link.

    While here, also add a FIXME about PR42180 and merge r360150 to llvm-lib.

    Differential Revision: https://reviews.llvm.org/D63021 (detail/ViewSVN)
    by nico
  67. Setup testing target dependencies for default runtimes

    Summary: The default runtimes targets aren't getting their dependencies configured correctly which results in check-runtimes failing when built from a clean build.

    Reviewers: phosek, compnerd

    Reviewed By: phosek

    Subscribers: mgorny, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63107 (detail/ViewSVN)
    by cbieneman
  68. XFAIL a couple of CTAD tests on clang-6; it gives different error messages than clang 7/8/9 (detail/ViewSVN)
    by marshall
  69. [AArch64] Add more CPUs to host detection

    Returns "cortex-a73" for 3rd and 4th gen Kryo; not precisely correct,
    but close enough.

    Differential Revision: https://reviews.llvm.org/D63099 (detail/ViewSVN)
    by kongyi
  70. [MIR-Canon] Fixing non-determinism that was breaking bots (NFC).

    An earlier fix of a subtle iterator invalidation bug had uncovered a
    nondeterminism that was present in the MultiUsers bag. Problem was that
    MultiUsers was being looked up using pointers.

    This patch is an NFC change that numbers each multiuser and processes each in
    numbered order. This fixes the test failure on netbsd and will likely fix the
    green-dragon bot too. (detail/ViewSVN)
    by zer0
  71. Break a couple more false dependencies on target libraries

    Summary: Repeat r361567 for a few more tools.

    Reviewers: bogner

    Reviewed By: bogner

    Subscribers: mgorny, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D62438 (detail/ViewSVN)
    by dsanders
  72. [Frontend] SetUpDiagnosticLog should handle unowned diagnostic consumer
    in the compiler

    The function SetUpDiagnosticLog that was called from createDiagnostics didn't
    handle the case where the diagnostics engine didn't own the diagnostics consumer.
    This is a potential problem for a clang tool, in particular some of the follow-up
    patches for clang-scan-deps will need this fix.

    Differential Revision: https://reviews.llvm.org/D63101 (detail/ViewSVN)
    by arphaman
  73. [dsymutil] Remove stale comment (NFC)

    The comment was no longer relevant after r362621. (detail/ViewSVN)
    by Jonas Devlieghere
  74. Revert r362994 & co "[analyzer][tests] Add normalize_plist to replace diff_plist"

    Reverts r362998, r362996, and r362994 because the tests do not pass on
    Windows due to CRLF changes. Adding back `-w` to diff is not enough, the
    new grep substitution doesn't work on Windows, and fixing it is
    non-trivial. (detail/ViewSVN)
    by rnk
  75. [Support] Explicitly detect recursive response files

    Previous detection relied upon an arbitrary hard coded limit of 21
    response files, which some code bases were running up against.

    The new detection maintains a stack of processing response files and
    explicitly checks if a newly encountered file is in the current stack.
    Some bookkeeping data is necessary in order to detect when to pop the
    stack.

    Patch by Chris Glover.

    Differential Revision: https://reviews.llvm.org/D62798 (detail/ViewSVN)
    by smeenai
  76. [PGO] Fix the buildbot failure in r362995

    Fixed one unused variable warning. (detail/ViewSVN)
    by xur
  77. Recommit r362649, which was reverted in r262680 because of bugs in std::to_chars (which have now been fixed). Speedup to_string and to_wstring for integers using stack buffer and SSO (detail/ViewSVN)
    by marshall
  78. [Tests] Adjust LFTR dead-iv tests to bypass undef cases

    As pointed out by Nikita in review, undef and poison need to be handled separately.  Since we're no longer expecting any test improvements - just fixes for miscompiles - update the tests to bypass the existing undef check. (detail/ViewSVN)
    by reames
  79. [NFC][CodeGen] Forgot 2 unary FNeg tests in X86/fma-intrinsics-canonical.ll

    Follow-up to r362999. (detail/ViewSVN)
    by mcinally
  80. Require stdcall etc parameters to be complete on ODR use

    Functions using stdcall, fastcall, or vectorcall with C linkage mangle
    in the size of the parameter pack. Calculating the size of the pack
    requires the parameter types to complete, which may require template
    instantiation.

    Previously, we would crash during IRgen when requesting the size of
    incomplete or uninstantiated types, as in this reduced example:
      struct Foo;
      void __fastcall bar(struct Foo o);
      void (__fastcall *fp)(struct Foo) = &bar;

    Reported in Chromium here: https://crbug.com/971245

    Differential Revision: https://reviews.llvm.org/D62975 (detail/ViewSVN)
    by rnk
  81. [NFC][CodeGen] Add unary FNeg tests to X86/fma-intrinsics-canonical.ll (detail/ViewSVN)
    by mcinally
  82. [analyzer][tests] Use normalize_plist in place of diff_plist (`tail` cases)

    Summary:
    The `%diff_plist` lit substitution invokes `diff` with a non-portable
    `-I` option. The intended effect can be achieved by normalizing the
    inputs to `diff` beforehand. Such normalization can be done with
    `grep -Ev`, which is also used by other tests.

    This patch applies the change (adjusted for review comments) described
    in http://lists.llvm.org/pipermail/cfe-dev/2019-April/061904.html
    mechanically to the cases where the output file is piped to
    `%diff_plist` via `tail`. `%diff_plist` is then, being unused, removed.

    The changes were applied via a script.

    Reviewers: NoQ, sfertile, xingxue, jasonliu, daltenty

    Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, jsji, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D62951 (detail/ViewSVN)
    by hubert.reinterpretcast
  83. Fix typo from r362990 to fix Windows builds (detail/ViewSVN)
    by tstellar
  84. [analyzer][tests] Use normalize_plist in place of diff_plist (`cat` cases)

    Summary:
    The `%diff_plist` lit substitution invokes `diff` with a non-portable
    `-I` option. The intended effect can be achieved by normalizing the
    inputs to `diff` beforehand. Such normalization can be done with
    `grep -Ev`, which is also used by other tests.

    This patch applies the change (adjusted for review comments) described
    in http://lists.llvm.org/pipermail/cfe-dev/2019-April/061904.html
    mechanically to the cases where the output file is piped to
    `%diff_plist` via `cat`.

    The changes were applied via a script, except that
    `clang/test/Analysis/NewDelete-path-notes.cpp` and
    `clang/test/Analysis/plist-macros-with-expansion.cpp` were each adjusted
    for the line-continuation on the relevant `RUN` step.

    Reviewers: NoQ, sfertile, xingxue, jasonliu, daltenty

    Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, jsji, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D62950 (detail/ViewSVN)
    by hubert.reinterpretcast
  85. [PGO] Handle cases of non-instrument BBs

    As shown in PR41279, some basic blocks (such as catchswitch) cannot be
    instrumented. This patch filters out these BBs in PGO instrumentation.
    It also sets the profile count to the fail-to-instrument edge, so that we
    can propagate the counts in the CFG.

    Differential Revision: https://reviews.llvm.org/D62700 (detail/ViewSVN)
    by xur
  86. [analyzer][tests] Add normalize_plist to replace diff_plist

    Summary:
    The `%diff_plist` lit substitution invokes `diff` with a non-portable
    `-I` option. The intended effect can be achieved by normalizing the
    inputs to `diff` beforehand. Such normalization can be done with
    `grep -Ev`, which is also used by other tests.

    This patch applies the change (adjusted for review comments) described
    in http://lists.llvm.org/pipermail/cfe-dev/2019-April/061904.html to the
    specific case shown in the list message. Mechanical changes to the other
    affected files will follow in later patches.

    Reviewers: NoQ, sfertile, xingxue, jasonliu, daltenty

    Reviewed By: NoQ

    Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, jsji, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D62949 (detail/ViewSVN)
    by hubert.reinterpretcast
  87. [Tests] Split an LFTR dead-iv case

    There are two interesting sub-cases here.  1) Switching IVs is legal, but only in pre-increment form.  and 2) Switching IVs is legal, and so is post-increment form. (detail/ViewSVN)
    by reames
  88. [PlistSupport] Produce a newline to end plist output files

    Summary:
    As suggested in the review of D62949, this patch updates the plist
    output to have a newline at the end of the file. This makes it so that
    the plist output file qualifies as a POSIX text file, which increases
    the consumability of the generated plist file in relation to various
    tools.

    Reviewers: NoQ, sfertile, xingxue, jasonliu, daltenty

    Reviewed By: NoQ, xingxue

    Subscribers: jsji, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D63041 (detail/ViewSVN)
    by hubert.reinterpretcast
  89. [CUDA] Fix grep pattern in cuda-types.cu

    Summary:
    vertical-line is not a BRE special character.

    POSIX.1-2017 XBD Section 9.3.2 indicates that the interpretation of `\|`
    is undefined. This patch uses EREs instead.

    Additionally, the pattern is further fixed so that `SIZEOF` and `WIDTH`
    macros are checked.

    Reviewers: jlebar, daltenty, xingxue, jasonliu, tra

    Reviewed By: tra

    Subscribers: jfb, jsji, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D63029 (detail/ViewSVN)
    by hubert.reinterpretcast
  90. CMake: Make most target symbols hidden by default

    Summary:
    For builds with LLVM_BUILD_LLVM_DYLIB=ON and BUILD_SHARED_LIBS=OFF
    this change makes all symbols in the target specific libraries hidden
    by default.

    A new macro called LLVM_EXTERNAL_VISIBILITY has been added to mark symbols in these
    libraries public, which is mainly needed for the definitions of the
    LLVMInitialize* functions.

    This patch reduces the number of public symbols in libLLVM.so by about
    25%.  This should improve load times for the dynamic library and also
    make abi checker tools, like abidiff require less memory when analyzing
    libLLVM.so

    One side-effect of this change is that for builds with
    LLVM_BUILD_LLVM_DYLIB=ON and LLVM_LINK_LLVM_DYLIB=ON some unittests that
    access symbols that are no longer public will need to be statically linked.

    Before and after public symbol counts (using gcc 8.2.1, ld.bfd 2.31.1):
    nm before/libLLVM-9svn.so | grep ' [A-Zuvw] ' | wc -l
    36221
    nm after/libLLVM-9svn.so | grep ' [A-Zuvw] ' | wc -l
    26278

    Reviewers: chandlerc, beanz, mgorny, rnk, hans

    Reviewed By: rnk, hans

    Subscribers: Jim, hiraditya, michaelplatings, chapuni, jholewinski, arsenm, dschuff, jyknight, dylanmckay, sdardis, nemanjai, jvesely, nhaehnle, javed.absar, sbc100, jgravelle-google, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, zzheng, edward-jones, mgrang, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, kristina, jsji, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D54439 (detail/ViewSVN)
    by tstellar
  91. [GlobalISel] Translate memset/memmove/memcpy from undef ptrs into nops

    If the source is undef, then just don't do anything.

    This matches SelectionDAG's behaviour in SelectionDAG.cpp.

    Also add a test showing that we do the right thing here.
    (irtranslator-memfunc-undef.ll)

    Differential Revision: https://reviews.llvm.org/D63095 (detail/ViewSVN)
    by paquette
  92. [NFC][CodeGen] Add unary FNeg tests to some X86/ and XCore/ tests. (detail/ViewSVN)
    by mcinally
  93. Implement deduction guides for map/multimap. Reviewed as https://reviews.llvm.org/D58587. Thanks to Quuxplusone for the submission. (detail/ViewSVN)
    by marshall

Started by an SCM change (70 times)

This run spent:

  • 20 hr waiting;
  • 2 hr 40 min build duration;
  • 22 hr total from scheduled to completion.
LLVM/Clang Warnings: 1 warning.
    Test Result (4 failures / +4)

    Identified problems

    Regression test failed

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

    Ninja target failed

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