Started 2 mo 24 days ago
Took 18 hr on green-dragon-09

Failed Build #5475 (Sep 13, 2019 5:27:11 PM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 371909
  • http://llvm.org/svn/llvm-project/cfe/trunk : 371906
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 371872
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 364589
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 371894
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 371890
Changes
  1. [Reproducer] Add reproducer dump command.

    This adds a reproducer dump commands which makes it possible to inspect
    a reproducer from inside LLDB. Currently it supports the Files, Commands
    and Version providers. I'm planning to add support for the GDB Remote
    provider in a follow-up patch.

    Differential revision: https://reviews.llvm.org/D67474 (detail/ViewSVN)
    by Jonas Devlieghere
  2. [WebAssembly] Narrowing and widening SIMD ops

    Summary:
    Implements target-specific LLVM intrinsics and clang builtins for
    these new SIMD operations, as described at https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md#integer-to-integer-narrowing.

    Reviewers: aheejin

    Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, cfe-commits, llvm-commits

    Tags: #clang, #llvm

    Differential Revision: https://reviews.llvm.org/D67425 (detail/ViewSVN)
    by tlively
  3. Make test check position independent as they sometimes come out reversed. NFCI. (detail/ViewSVN)
    by dyung
  4. [clang-scan-deps] Fix for headers having the same name as a directory

    Scan deps tool crashes when called on a C++ file, containing an include
    that has the same name as a directory.
    The tool crashes since it finds foo/dir and tries to read that as a file and fails.

    Patch by: kousikk (Kousik Kumar)

    Differential Revision: https://reviews.llvm.org/D67091 (detail/ViewSVN)
    by arphaman
  5. [GlobalISel] Fix insertion point of new instructions to be after PHIs.

    For some reason we sometimes insert new instructions one instruction before
    the first non-PHI when legalizing. This can result in having non-PHI
    instructions before PHIs, which mean that PHI elimination doesn't catch them.

    Differential Revision: https://reviews.llvm.org/D67570 (detail/ViewSVN)
    by aemerson
  6. [NFC][libLTO] Rearrange declaration in lto.h

    Summary:
    Rearrange the function declaration in lto.h so they falls in the correct
    doxygen group.

    Reviewers: tejohnson, bd1976llvm, deadalnix

    Reviewed By: tejohnson

    Subscribers: mehdi_amini, inglorion, jkorous, dexonsmith, ributzka, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D67565 (detail/ViewSVN)
    by steven_wu
  7. Add dependency from Orc to Passes

    Summary: Orc uses registerFunctionAnalyses that's defined in Passes.

    Reviewers: dblaikie

    Subscribers: mcrosier, bixia, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D67477 (detail/ViewSVN)
    by sanjoy
  8. Fix test to use %t for newly created files.

    This is both for consistency with other `mkdir`s in tests, and
    fixing permission issues with the non-temporary cwd during testing (they
    are not always writable). (detail/ViewSVN)
    by timshen
  9. [llvm-opt-report] Improve error handling

    * std::move the error extracted from the parsing creation to avoid asserts
    * print a newline after the error message
    * create the parser from the metadata (detail/ViewSVN)
    by thegameg
  10. Fix C++03 build failures due to >> (detail/ViewSVN)
    by ericwf
  11. [AArch64][GlobalISel] Tail call memory intrinsics

    Because memory intrinsics are handled differently than other calls, we need to
    check them for tail call eligiblity in the legalizer. This allows us to still
    inline them when it's beneficial to do so, but also tail call when possible.

    This adds simple tail calling support for when the intrinsic is followed by a
    return.

    It ports the attribute checks from `TargetLowering::isInTailCallPosition` into
    a similarly-named function in LegalizerHelper.cpp. The target-specific
    `isUsedByReturnOnly` hook is not ported here.

    Update tailcall-mem-intrinsics.ll to show that GlobalISel can now tail call
    memory intrinsics.

    Update legalize-memcpy-et-al.mir to have a case where we don't tail call.

    Differential Revision: https://reviews.llvm.org/D67566 (detail/ViewSVN)
    by paquette
  12. [OPENMP5.0]Add basic support for declare variant directive.

    Added basic support for declare variant directive and its match clause
    with user context selector. (detail/ViewSVN)
    by abataev
  13. [Support] Add overload writeFileAtomically(std::function Writer)

    Differential Revision: https://reviews.llvm.org/D67424 (detail/ViewSVN)
    by Jan Korous
  14. [Docs] Bug fix for reference to nonexistent document

    This commit fixes a bug in which the toctree contained a reference to a non-existent document. (detail/ViewSVN)
    by dr87
  15. [FPEnv] Document that constrained FP intrinsics cannot be mixed with non-constrained

    Reviewed by: andrew.w.kaylor, cameron.mcinally, uweigand
    Approved by: andrew.w.kaylor
    Differential Revision: https://reviews.llvm.org/D67360 (detail/ViewSVN)
    by kpn
  16. [aarch64] move custom isel of extract_vector_elt to td file - NFC

    In preparation for def-pat selection of dot product instructions,
    this patch moves the custom instruction selection of extract_vector_elt
    to the td file. Without this change it is impossible to catch a pattern that
    starts with an extract_vector_elt: the custom cpp code is executed first
    ahead of the patterns in the td files that are only executed at the end of
    the switch statement in SelectCode(Node).

    With this patch applied, it becomes possible to select a different pattern
    that starts with extract_vector_elt by selecting a higher complexity than
    this pattern.

    The patch has been tested on aarch64-linux with make check-all.

    Differential Revision: https://reviews.llvm.org/D67497 (detail/ViewSVN)
    by spop
  17. Mark [[nodiscard]] test as unsupported with GCC 5 (detail/ViewSVN)
    by ericwf
  18. Fix pretty printer test with GCC (detail/ViewSVN)
    by ericwf
  19. AArch64: fix EXPENSIVE_CHECKS for arm64_32.

    For some reason I'd decided to mark the end-result of a GOT load as
    dead. It's clearly not (necessarily). (detail/ViewSVN)
    by Tim Northover
  20. Fix various test failures with GCC (detail/ViewSVN)
    by ericwf
  21. [SLP] add test for vectorization of constant expressions; NFC

    Goes with D67362. (detail/ViewSVN)
    by spatel
  22. Reland r371785: Add -Wpoison-system-directories warning

    When using clang as a cross-compiler, we should not use system
    headers to do the compilation.
    This CL adds support of a new warning flag -Wpoison-system-directories which
    emits warnings if --sysroot is set and headers from common host system location
    are used.
    By default the warning is disabled.

    The intention of the warning is to catch bad includes which are usually
    generated by third party build system not targeting cross-compilation.
    Such cases happen in Chrome OS when someone imports a new package or upgrade
    one to a newer version from upstream.

    This is reland of r371785 with a fix to test file.

    Patch by: denik (Denis Nikitin) (detail/ViewSVN)
    by manojgupta
  23. [NFC][InstSimplify] Add some more tests for D67498/D67502 (detail/ViewSVN)
    by lebedevri
  24. Fix build error in 371875

    Apparently Clang complains about the name hiding here in a way that my
    GCC build does not, so a shocking number of buildbots decided to tell me
    about it.  Change the name of the variable to prevent the name hiding
    and hope we don't have to fix this again. (detail/ViewSVN)
    by erichkeane
  25. [NFCI]Create CommonAttributeInfo Type as base type of *Attr and ParsedAttr.

    In order to enable future improvements to our attribute diagnostics,
    this moves info from ParsedAttr into CommonAttributeInfo, then makes
    this type the base of the *Attr and ParsedAttr types. Quite a bit of
    refactoring took place, including removing a bunch of redundant Spelling
    Index propogation.

    Differential Revision: https://reviews.llvm.org/D67368 (detail/ViewSVN)
    by erichkeane
  26. Fix failing negative compilation test for some versions of Clang (detail/ViewSVN)
    by ericwf
  27. Revert for: [AMDGPU]: PHI Elimination hooks added for custom COPY insertion. (detail/ViewSVN)
    by alex-t
  28. Fix bug in `darwin_test_archs()` when the cache variable is set but empty.

    Summary:
    If the cache variable named in `${valid_archs}` (e.g. `DARWIN_osx_BUILTIN_ARCHS`)
    is set in the cache but is empty then the cache check
    `if(${valid_archs})` will be false so the function will probe the
    compiler but the `set(...)` command at the end of the function to update
    the cache variable will be a no-op. This is because `set(...)` will not
    update an existing cache variable unless the `FORCE` argument is
    provided.

    To fix this this patch adds `FORCE` so the cache is always updated.

    rdar://problem/55323665

    Reviewers: vsk, kubamracek

    Subscribers: mgorny, #sanitizers, llvm-commits

    Tags: #llvm, #sanitizers

    Differential Revision: https://reviews.llvm.org/D67530 (detail/ViewSVN)
    by delcypher
  29. [CMake] Separate the detection Darwin platforms architectures for the
    built-ins from the rest of compiler-rt.

    The detection of supported platform (os) architectures for Darwin relies
    on the `darwin_test_archs()` CMake function. This is used both for
    building the builtins (`builtin-config-ix.cmake`) and for the rest of
    the compiler-rt (`config-ix.cmake`).

    `darwin_test_archs()`  implements a cache, presumably to speed up CMake
    re-configures.  Unfortunately this caching is buggy because it depends
    on external global state (i.e. the `TEST_COMPILE_ONLY` variable) and
    this is not taken into account. For `config-ix.cmake`
    `TEST_COMPILE_ONLY` is not set and for `builtin-config-ix.cmake`
    `TEST_COMPILE_ONLY` is set to `On`.  This makes the
    `darwin_test_archs()` function racey in the sense that a call from one
    calling context will poison the cache for the other calling context.

    This is actually an issue George Karpenkov discovered a while back
    and had an incomplete patch for (https://reviews.llvm.org/D45337)
    but this was never merged.

    To workaround this, this patch switches to using a different set of
    variables for the platform architecture builtins, i.e.
    `DARWIN_<OS>_ARCHS` -> `DARWIN_<OS>_BUILTIN_ARCHS`. This avoids the
    cache poisoning problem because the cached variable names are different.
    This also has the advantage that the the configured architectures for
    builtins and the rest of the compiler-rt are now independent and
    can be set differently if necessary.

    Note in `darwin_test_archs()` we also now pass `-w` to the compiler
    because `try_compile_only()` treats compiler warnings as errors.  This
    was extremely fragile because compiler warnings (can easily appear due
    to a buggy compiler or SDK headers) would cause compiler-rt to think an
    architecture on Darwin wasn't supported.

    rdar://problem/48637491 (detail/ViewSVN)
    by delcypher
  30. [Remarks][NFC] Forward declare ParsedStringTable (detail/ViewSVN)
    by thegameg
  31. [Remarks][NFC] Use StringLiteral for magic numbers (detail/ViewSVN)
    by thegameg
  32. [AArch64][GlobalISel] Add support for sibcalling callees with varargs

    This adds support for tail calling callees with varargs, equivalent to how it
    is done in AArch64ISelLowering.

    This only works for sibling calls, and does not add the necessary support for
    musttail with varargs. (See r345641 for equivalent ISelLowering support.) This
    should be implemented when we stop falling back on musttail.

    Update call-translator-tail-call.ll to show that we can now tail call varargs.

    Differential Revision: https://reviews.llvm.org/D67518 (detail/ViewSVN)
    by paquette
  33. Recommit r370502: Make `vector` unconditionally move elements when
    exceptions are disabled.

    The patch was reverted due to some confusion about non-movable types. ie
    types
    that explicitly delete their move constructors. However, such types do
    not meet
    the requirement for `MoveConstructible`, which is required by
    `std::vector`:

    Summary:

    `std::vector<T>` is free choose between using copy or move operations
    when it
    needs to resize. The standard only candidates that the correct exception
    safety
    guarantees are provided. When exceptions are disabled these guarantees
    are
    trivially satisfied. Meaning vector is free to optimize it's
    implementation by
    moving instead of copying.

    This patch makes `std::vector` unconditionally move elements when
    exceptions are
    disabled. This optimization is conforming according to the current
    standard wording.

    There are concerns that moving in `-fno-noexceptions`mode will be a
    surprise to
    users. For example, a user may be surprised to find their code is slower
    with
    exceptions enabled than it is disabled. I'm sympathetic to this
    surprised, but
    I don't think it should block this optimization.

    Reviewers: mclow.lists, ldionne, rsmith
    Reviewed By: ldionne
    Subscribers: zoecarver, christof, dexonsmith, libcxx-commits
    Tags: #libc
    Differential Revision: https://reviews.llvm.org/D62228 (detail/ViewSVN)
    by ericwf
  34. [yaml2obj/ObjectYAML] - Cleanup the error reporting API, add custom errors handlers.

    This is a continuation of the YAML library error reporting
    refactoring/improvement and the idea by itself was mentioned
    in the following thread:
    https://reviews.llvm.org/D67182?id=218714#inline-603404

    This performs a cleanup of all object emitters in the library.
    It allows using the custom one provided by the caller.

    One of the nice things is that each tool can now print its tool name,
    e.g: "yaml2obj: error: <text>"

    Also, the code became a bit simpler.

    Differential revision: https://reviews.llvm.org/D67445 (detail/ViewSVN)
    by grimar
  35. Only initialize the streams cout/wcout/cerr/wcerr etc once, rather than any time Init::Init is called. Fixes PR#43300 (detail/ViewSVN)
    by marshall
  36. Fix build in C++20 (detail/ViewSVN)
    by ericwf
  37. [docs][llvm-readelf][llvm-readobj] Improve --stack-sizes documentation

    llvm-readobj's document was missing --stack-sizes entirely from its
    document, so this patch adds it. It also adds a note to the llvm-readelf
    description that the switch is only implemented for GNU style output
    currently. For reference, --stack-sizes was added in r367942.

    Reviewed by: MaskRay

    Differential Revision: https://reviews.llvm.org/D67548 (detail/ViewSVN)
    by jhenderson
  38. [X86] Use incDecVectorConstant to simplify the min/max code in LowerVSETCC.

    incDecVectorConstant is used for a similar reason in LowerVSETCCWithSUBUS
    so we might as well share the code. (detail/ViewSVN)
    by ctopper
  39. Fix a few spellos in docs.

    (Trying to debug an incremental build thing on a bot...) (detail/ViewSVN)
    by nico
  40. [Sema][Typo Correction] Fix potential infite loop on ambiguity checks

    Summary:
    This fixes a bug introduced in D62648, where Clang could infinite loop
    if it became stuck on a single TypoCorrection when it was supposed to
    be testing ambiguous corrections. Although not a common case, it could
    happen if there are multiple possible corrections with the same edit
    distance.

    The fix is simply to wipe the TypoExpr from the `TransformCache` so that
    the call to `TransformTypoExpr` doesn't use the `CachedEntry`.

    Reviewers: rsmith

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D67515 (detail/ViewSVN)
    by dgoldman
  41. gn build: pacify "gn format" after 371102 (detail/ViewSVN)
    by nico
  42. [PowerPC][NFC] Move codegen tests to PowerPC from MIR/PowerPC

    All tests with -run-pass !=none should not in MIR/, See MIR/README.

    ```
    Tests for codegen passes should NOT be here but in
    test/CodeGen/sometarget. As
    a rule of thumb this directory should only contain tests using
    'llc -run-pass none'.
    ``` (detail/ViewSVN)
    by jsji
  43. [ADT] Remove a workaround for old versions of clang (detail/ViewSVN)
    by d0k
  44. [docs][llvm-objcopy][llvm-strip] Improve --strip-unneeded description

    Behaviour was recently added to this switch to strip debug sections too.
    See r369761.

    This change also makes the description for the --strip-unneeded switch
    consistent between the two docs.

    Reviewed by: MaskRay

    Differential Revision: https://reviews.llvm.org/D67546 (detail/ViewSVN)
    by jhenderson
  45. clang-format: Add support for formatting (some) lambdas with explicit template parameters.

    This patch makes cases work where the lambda's template list doesn't
    contain any of + - ! ~ / % << | || && ^ == != >= <= ? : true false
    (see added FIXME).

    Ports r359967 to clang-format.

    Differential Revision: https://reviews.llvm.org/D67246 (detail/ViewSVN)
    by nico
  46. Fix depfile name construction

    - When using -o, the provided filename is using for constructing the depfile
      name (when -MMD is passed).
    - The logic looks for the rightmost '.' character and replaces what comes after
      with 'd'.
    - This works incorrectly when the filename has no extension and the directories
      have '.' in them (e.g. out.dir/test)
    - This replaces the funciton to just llvm::sys::path functionality

    Differential Revision: https://reviews.llvm.org/D67542 (detail/ViewSVN)
    by lukecheeseman
  47. gn build: (manually) merge r371834, take 2 (detail/ViewSVN)
    by nico
  48. Revert "gn build: (manually) merge r371834"

    This reverts commit abc7e2b6004cd693cf3b6dedbc7908e099c7ac6a.
    The commit was incomplete. I'll revert and reland the full commit,
    so that the correct change is a single commit. (detail/ViewSVN)
    by nico
  49. gn build: (manually) merge r371834 (detail/ViewSVN)
    by nico
  50. gn build: Merge r371822 (detail/ViewSVN)
    by nico
  51. gn build: (manually) merge r371787 (detail/ViewSVN)
    by nico
  52. [ADT] Make DenseMap use allocate_buffer

    This unlocks some goodies like sized deletion and gets the alignment
    right on platforms that chose to provide a lower default new alignment. (detail/ViewSVN)
    by d0k
  53. [llvm-size] Fix spelling errors (Berkely -> Berkeley) (detail/ViewSVN)
    by jhenderson
  54. [Orc] Roll back ThreadPool to std::function

    MSVC doesn't allow move-only types in std::packaged_task. Boo. (detail/ViewSVN)
    by d0k
  55. [Orc] Address the remaining move-capture FIXMEs

    This required spreading unique_function a bit more, which I think is a
    good thing. (detail/ViewSVN)
    by d0k
  56. [X86] negateFMAOpcode - extend to support FMADDSUB/FMSUBADD and output negation. NFCI.

    Some prep work for PR42863, this change allows us to move all the FMA opcode mappings into the negateFMAOpcode helper.

    For the FMADDSUB/FMSUBADD cases, we can only negate the accumulator - any other negations will result in an error. (detail/ViewSVN)
    by rksimon
  57. [ASTImporter] Add development internals docs

    Reviewers: a_sidorin, shafik, teemperor, gamesh411, balazske, dkrupp, a.sidorin

    Subscribers: rnkovacs, Szelethus, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D66336 (detail/ViewSVN)
    by martong
  58. [ARM] Add earlyclobber for cross beat MVE instructions

    rL367544 added @earlyclobbers for the MVE VREV64 instruction. This adds the
    same for a number of other 32bit instructions that are similarly unpredictable
    if the destination equals the source (due to the cross beat nature of the
    instructions).
    This includes:
      VCADD.f32
      VCADD.i32
      VCMUL.f32
      VHCADD.s32
      VMULLT/B.s/u32
      VQDMLADH{X}.s32
      VQRDMLADH{X}.s32
      VQDMLSDH{X}.s32
      VQRDMLSDH{X}.s32
      VQDMULLT/B.s32 with Qm and Rm

    No tests here as this would require intrinsics (or very interesting codegen) to
    manifest. The tests will follow naturally as the intrinsics are added.

    Differential Revision: https://reviews.llvm.org/D67462 (detail/ViewSVN)
    by dmgreen
  59. [Clang Interpreter] Initial patch for the constexpr interpreter

    Summary:
    This patch introduces the skeleton of the constexpr interpreter,
    capable of evaluating a simple constexpr functions consisting of
    if statements. The interpreter is described in more detail in the
    RFC. Further patches will add more features.

    Reviewers: Bigcheese, jfb, rsmith

    Subscribers: bruno, uenoku, ldionne, Tyker, thegameg, tschuett, dexonsmith, mgorny, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64146 (detail/ViewSVN)
    by nand
  60. [AArch64] More @llvm.fma.f16 tests

    Follow up of rL371321 that added FMA FP16 patterns. This adds more tests
    for @llvm.fma.f16. This probably shows we miss one fmsub optimisation
    opportunity, which I will look into. (detail/ViewSVN)
    by sjoerdmeijer
  61. Fix a perl warning: Scalar value @ArgParts[0] better written as $ArgParts[0] at /usr/share/clang/scan-build-10/libexec/ccc-analyzer line 502. (detail/ViewSVN)
    by sylvestre
  62. [Alignment] Introduce llvm::Align to MCSection

    Summary:
    This is patch is part of a series to introduce an Alignment type.
    See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
    See this patch for the introduction of the type: https://reviews.llvm.org/D64790

    Reviewers: courbet, JDevlieghere

    Subscribers: arsenm, sdardis, jvesely, nhaehnle, sbc100, hiraditya, aheejin, jrtc27, atanasyan, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D67486 (detail/ViewSVN)
    by gchatelet
  63. [lib/ObjectYAML] - Change interface to return `bool` instead of `int`. NFCI

    It was suggested in comments for D67445 to split this part.

    Differential revision: https://reviews.llvm.org/D67488 (detail/ViewSVN)
    by grimar
  64. [ARM] Add support for MVE vmaxv and vminv

    This patch adds vecreduce_smax, vecredude_umax, vecreduce_smin, vecreduce_umin and selection for vmaxv and minv.

    Differential Revision: https://reviews.llvm.org/D66413 (detail/ViewSVN)
    by samtebbs
  65. [llvm-objdump] Fix llvm-objdump --all-headers output order

    Patch by Justice Adams!

    Made llvm-objdump --all-headers output match the order of GNU objdump for compatibility reasons.

    Old order of the headers output:
    * file header
    * section header table
    * symbol table
    * program header table
    * dynamic section

    New order of the headers output (GNU compatible):
    * file header information
    * program header table
    * dynamic section
    * section header table
    * symbol table

    (Relevant BugZilla Bug: https://bugs.llvm.org/show_bug.cgi?id=41830)

    Differential revision: https://reviews.llvm.org/D67357 (detail/ViewSVN)
    by grimar
  66. Revert "Fix test failures after r371640"

    This reverts commit r371645, because r371640 was reverted. (detail/ViewSVN)
    by gribozavr
  67. [compiler-rt] Add ubsan interface header.

    This is to document __ubsan_default_options().

    Reviewed By: vitalybuka

    Differential Revision: https://reviews.llvm.org/D67503 (detail/ViewSVN)
    by pgousseau
  68. [Clang][ASTImporter] Added visibility check for FunctionTemplateDecl.

    Summary:
    ASTImporter makes now difference between function templates with same
    name in different translation units if these are not visible outside.

    Reviewers: martong, a.sidorin, shafik, a_sidorin

    Reviewed By: a_sidorin

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

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D67490 (detail/ViewSVN)
    by balazske
  69. [BasicBlockUtils] Add optional BBName argument, in line with BB:splitBasicBlock

    Reviewers: spatel, asbirlea, craig.topper

    Reviewed By: asbirlea

    Differential Revision: https://reviews.llvm.org/D67521 (detail/ViewSVN)
    by fhahn
  70. [AArch64] MachineCombiner FMA matching. NFC.

    Follow-up of rL371321 that added some more FP16 FMA patterns, and an attempt to
    reduce the copy-pasting and make this more readable.

    Differential Revision: https://reviews.llvm.org/D67403 (detail/ViewSVN)
    by sjoerdmeijer
  71. For PR17164: split -fno-lax-vector-conversion into three different
    levels:

    -- none: no lax vector conversions [new GCC default]
    -- integer: only conversions between integer vectors [old GCC default]
    -- all: all conversions between same-size vectors [Clang default]

    For now, Clang still defaults to "all" mode, but per my proposal on
    cfe-dev (2019-04-10) the default will be changed to "integer" as soon as
    that doesn't break lots of testcases. (Eventually I'd like to change the
    default to "none" to match GCC and general sanity.)

    Following GCC's behavior, the driver flag -flax-vector-conversions is
    translated to -flax-vector-conversions=integer.

    This reinstates r371805, reverted in r371813, with an additional fix for
    lldb. (detail/ViewSVN)
    by rsmith
  72. Fix interaction between r371813 and r371814. (detail/ViewSVN)
    by rsmith
  73. [TargetRegisterInfo] Remove SVT argument from getCommonSubClass.

    This was added to support fp128 on x86-64, but appears to be
    unneeded now. This may be because the FR128 register class
    added back then was merged with the VR128 register class later. (detail/ViewSVN)
    by ctopper
  74. Remove reliance on lax vector conversions from altivec.h and its test. (detail/ViewSVN)
    by rsmith
  75. Revert "For PR17164: split -fno-lax-vector-conversion into three different"

    This breaks the LLDB build. I tried reaching out to Richard, but haven't
    gotten a reply yet. (detail/ViewSVN)
    by Jonas Devlieghere
  76. AMDGPU/GlobalISel: Fix assert on multi-return side effect intrinsics

    llvm.amdgcn.else hits this. (detail/ViewSVN)
    by arsenm
  77. AMDGPU/GlobalISel: Legalize s32->s16 G_SITOFP/G_UITOFP (detail/ViewSVN)
    by arsenm
  78. [RISCV] Support stack offset exceed 32-bit for RV64

    Differential Revision: https://reviews.llvm.org/D61884 (detail/ViewSVN)
    by shiva
  79. Revert "[RISCV] Support stack offset exceed 32-bit for RV64"

    This reverts commit 1c340c62058d4115d21e5fa1ce3a0d094d28c792. (detail/ViewSVN)
    by shiva
  80. AMDGPU/GlobalISel: Fix RegBankSelect for amdgcn.else (detail/ViewSVN)
    by arsenm
  81. AMDGPU/GlobalISel: Select 16-bit VALU bit ops (detail/ViewSVN)
    by arsenm
  82. [RISCV] Support stack offset exceed 32-bit for RV64

    Differential Revision: https://reviews.llvm.org/D61884 (detail/ViewSVN)
    by shiva
  83. For PR17164: split -fno-lax-vector-conversion into three different
    levels:

    -- none: no lax vector conversions [new GCC default]
    -- integer: only conversions between integer vectors [old GCC default]
    -- all: all conversions between same-size vectors [Clang default]

    For now, Clang still defaults to "all" mode, but per my proposal on
    cfe-dev (2019-04-10) the default will be changed to "integer" as soon as
    that doesn't break lots of testcases. (Eventually I'd like to change the
    default to "none" to match GCC and general sanity.)

    Following GCC's behavior, the driver flag -flax-vector-conversions is
    translated to -flax-vector-conversions=integer. (detail/ViewSVN)
    by rsmith
  84. AMDGPU/GlobalISel: Legalize G_FFLOOR (detail/ViewSVN)
    by arsenm
  85. Temporarily revert r371640 "LiveIntervals: Split live intervals on multiple dead defs".

    It reveals a miscompile on Hexagon. See PR43302 for details. (detail/ViewSVN)
    by timshen
  86. AMDGPU/GlobalISel: Legalize G_FMAD

    Unlike SelectionDAG, treat this as a normally legalizable operation.
    In SelectionDAG this is supposed to only ever formed if it's legal,
    but I've found that to be restricting. For AMDGPU this is contextually
    legal depending on whether denormal flushing is allowed in the use
    function.

    Technically we currently treat the denormal mode as a subtarget
    feature, so custom lowering could be avoided. However I consider this
    to be a defect, and this should be contextually dependent on the
    controllable rounding mode of the parent function. (detail/ViewSVN)
    by arsenm
  87. Revert r371785.

    r371785 is causing fails on clang-hexagon-elf buildbots. (detail/ViewSVN)
    by manojgupta
  88. AMDGPU/GlobalISel: Select G_CTPOP (detail/ViewSVN)
    by arsenm
  89. DAG/GlobalISel: Correct type profile of bitcount ops

    The result integer does not need to be the same width as the input.
    AMDGPU, NVPTX, and Hexagon all have patterns working around the types
    matching. GlobalISel defines these as being different type indexes. (detail/ViewSVN)
    by arsenm
  90. [libclang] Fix UninstallAbortingLLVMFatalErrorHandler test (detail/ViewSVN)
    by Jan Korous
  91. AMDGPU: Add immarg to llvm.amdgcn.init.exec.from.input

    As far as I can tell this has to be a constant. (detail/ViewSVN)
    by arsenm
  92. LiveIntervals: Remove assertion

    This testcase is invalid, and caught by the verifier. For the verifier
    to catch it, the live interval computation needs to complete. Remove
    the assert so the verifier catches this, which is less confusing.

    In this testcase there is an undefined use of a subregister, and lanes
    which aren't used or defined. An equivalent testcase with the
    super-register shrunk to have no untouched lanes already hit this
    verifier error. (detail/ViewSVN)
    by arsenm
  93. AMDGPU: Inline constant when materalizing FI with add on gfx9

    This was relying on the SGPR usable for the carry out clobber to also
    be used for the input. There was no carry out on gfx9. With no carry
    out clobber to worry about, so the literal can just be directly used
    with a VOP2 add. (detail/ViewSVN)
    by arsenm
  94. [Test] Restructure check lines to show differences between modes more clearly

    With the landing of the previous patch (in particular D66318) there are a lot fewer diffs now.  I added an experimental O0 line, and updated all the tests to group experimental and non-experimental O0/O3 together.

    Skimming the remaining diffs, there's only a few which are obviously incorrect.  There's a large number which are questionable, so more todo. (detail/ViewSVN)
    by reames
  95. Rename nonvolatile_load/store to simple_load/store [NFC]

    Implement the TODO from D66318. (detail/ViewSVN)
    by reames
  96. [AArch64][GlobalISel] Support tail calling with swiftself parameters

    Swiftself uses a callee-saved register. We can tail call when the register used
    in the caller and callee is the same.

    This behaviour is equivalent to that in `TargetLowering::parametersInCSRMatch`.

    Update call-translator-tail-call.ll to verify that we can do this. When we
    support inline assembly, we can write a check similar to the one in the
    general swiftself.ll. For now, we need to verify that we get the correct COPY
    instruction after call lowering.

    Differential Revision: https://reviews.llvm.org/D67511 (detail/ViewSVN)
    by paquette
  97. [libclang] Expose abort()-ing LLVM fatal error handler

    Differential Revision: https://reviews.llvm.org/D66775 (detail/ViewSVN)
    by Jan Korous
  98. [SDAG] Update generic code to conservatively check for isAtomic in addition to isVolatile

    This is the first sweep of generic code to add isAtomic bailouts where appropriate. The intention here is to have the switch from AtomicSDNode to LoadSDNode/StoreSDNode be close to NFC; that is, I'm not looking to allow additional optimizations at this time. That will come later.  See D66309 for context.

    Differential Revision: https://reviews.llvm.org/D66318 (detail/ViewSVN)
    by reames
  99. Add -Wpoison-system-directories warning

    When using clang as a cross-compiler, we should not use system
    headers to do the compilation.
    This CL adds support of a new warning flag -Wpoison-system-directories which
    emits warnings if --sysroot is set and headers from common host system location
    are used.
    By default the warning is disabled.

    The intention of the warning is to catch bad includes which are usually
    generated by third party build system not targeting cross-compilation.
    Such cases happen in Chrome OS when someone imports a new package or upgrade
    one to a newer version from upstream.

    Patch by: denik (Denis Nikitin) (detail/ViewSVN)
    by manojgupta
  100. [NFC] Fix file header filename to be Range.h (detail/ViewSVN)
    by gclayton
  101. [Docs] Adds page for reference docs

    Adds a Reference Documentation page for LLVM and API reference documentation. (detail/ViewSVN)
    by dr87
  102. [analyzer] Fix the 'analyzer-enabled-checkers.c' test on non-linux machines.

    '-Xclang -triple' doesn't seem to override the default target triple
    as reliably as '--target'. This leads to test failing due to
    platform-specific checks getting unexpectedly enabled. (detail/ViewSVN)
    by dergachev
  103. [AArch64][GlobalISel] Support sibling calls with outgoing arguments

    This adds support for lowering sibling calls with outgoing arguments.

    e.g

    ```
    define void @foo(i32 %a)
    ```

    Support is ported from AArch64ISelLowering's `isEligibleForTailCallOptimization`.
    The only thing that is missing is a full port of
    `TargetLowering::parametersInCSRMatch`. So, if we're using swiftself,
    we'll never tail call.

    - Rename `analyzeCallResult` to `analyzeArgInfo`, since the function is now used
      for both outgoing and incoming arguments
    - Teach `OutgoingArgHandler` about tail calls. Tail calls use frame indices for
      stack arguments.
    - Teach `lowerFormalArguments` to set the bytes in the caller's stack argument
      area. This is used later to check if the tail call's parameters will fit on
      the caller's stack.
    - Add `areCalleeOutgoingArgsTailCallable` to perform the eligibility check on
      the callee's outgoing arguments.

    For testing:

    - Update call-translator-tail-call to verify that we can now tail call with
      outgoing arguments, use G_FRAME_INDEX for stack arguments, and respect the
      size of the caller's stack
    - Remove GISel-specific check lines from speculation-hardening.ll, since GISel
      now tail calls like the other selectors
    - Add a GISel test line to tailcall-string-rvo.ll since we can tail call in that
      test now
    - Add a GISel test line to tailcall_misched_graph.ll since we tail call there
      now. Add specific check lines for GISel, since the debug output from the
      machine-scheduler differs with GlobalISel. The dependency still holds, but
      the output comes out in a different order.

    Differential Revision: https://reviews.llvm.org/D67471 (detail/ViewSVN)
    by paquette
  104. [PowerPC] Remove the SPE4RC register class and instead add f32 to the GPRC register class.

    Summary:
    Since the SPE4RC register class contains an identical set of registers
    and an identical spill size to the GPRC class its slightly confusing
    the tablegen emitter. It's preventing the GPRC_and_GPRC_NOR0 synthesized
    register class from inheriting VTs and AltOrders from GPRC or GPRC_NOR0.
    This is because SPE4C is found first in the super register class list
    when inheriting these properties and it doesn't set the VTs or
    AltOrders the same way as GPRC or GPRC_NOR0.

    This patch replaces all uses of GPE4RC with GPRC and allows GPRC and
    GPRC_NOR0 to contain f32.

    The test changes here are because the AltOrders are being inherited
    to GPRC_NOR0 now.

    Found while trying to determine if getCommonSubClass needs to take
    a VT argument. It was originally added to support fp128 on x86-64,
    I've changed some things about that so that it might be needed
    anymore. But a PowerPC test crashed without it and I think its
    due to this subclass issue.

    Reviewers: jhibbits, nemanjai, kbarton, hfinkel

    Subscribers: wuzish, nemanjai, mehdi_amini, hiraditya, kbarton, MaskRay, dexonsmith, jsji, shchenz, steven.zhang, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D67513 (detail/ViewSVN)
    by ctopper
  105. Remove a duplicate test

    Turns out I'd already added exactly the same test under the name non_unit_stride. (detail/ViewSVN)
    by reames
  106. [SCEV] Add smin support to getRangeRef

    We were failing to compute trip counts (both exact and maximum) for any loop which involved a comparison against either an umin or smin. It looks like this simply got missed when we added smin/umin to SCEV.  (Note: umin was submitted separately earlier today.  Turned out two folks hit this at the same time.)

    Differential Revision: https://reviews.llvm.org/D67514 (detail/ViewSVN)
    by reames
  107. [DAGCombiner][X86] Pass the CmpOpVT to reduceSelectOfFPConstantLoads so X86 can exclude fp128 compares.

    The X86 decision assumes the compare will produce a result in an XMM
    register, but that can't happen for an fp128 compare since those
    go to a libcall the returns an i32. Pass the VT so X86 can check
    the type. (detail/ViewSVN)
    by ctopper
  108. [ConstantFolding] Expand folding of some library functions

    Expanding the folding of `nearbyint()`, `rint()` and `trunc()` to library
    functions, in addition to the current support for intrinsics.

    Differential revision: https://reviews.llvm.org/D67468 (detail/ViewSVN)
    by evandro
  109. [ClangTidy] Adjust the name getCheckName to getCheckerName due to API change. (detail/ViewSVN)
    by timshen

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

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

This run spent:

  • 6 hr 31 min waiting;
  • 18 hr build duration;
  • 1 day 0 hr total from scheduled to completion.

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

Missing test results

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

Ninja target failed

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

Compile Error

This build failed because of a compile error. Below is a list of all errors in the build log:
Indication 4