Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Another merge of the upstream 8.x branch #8

Merged
merged 36 commits into from
Feb 25, 2019

Commits on Feb 13, 2019

  1. Merging r352707, r352714, r352886, r352892, r352895, r352908, r352917…

    …, r352935, r353213, r353733, and r353758
    
    ------------------------------------------------------------------------
    r352707 | evandro | 2019-01-31 01:49:27 +0100 (Thu, 31 Jan 2019) | 1 line
    
    [InstCombine] Simplify check clauses in test (NFC)
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r352714 | evandro | 2019-01-31 02:41:39 +0100 (Thu, 31 Jan 2019) | 3 lines
    
    [InstCombine] Expand testing for Windows (NFC)
    
    Added the checks to the existing cases when the target is Win64.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r352886 | evandro | 2019-02-01 17:57:53 +0100 (Fri, 01 Feb 2019) | 1 line
    
    [InstCombine] Refactor test checks (NFC)
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r352892 | evandro | 2019-02-01 18:39:48 +0100 (Fri, 01 Feb 2019) | 3 lines
    
    [InstCombine] Expand Windows test (NFC)
    
    Add checks for Win64 to existing cases.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r352895 | evandro | 2019-02-01 19:34:20 +0100 (Fri, 01 Feb 2019) | 1 line
    
    [InstCombine] Refactor test checks (NFC)
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r352908 | evandro | 2019-02-01 21:42:03 +0100 (Fri, 01 Feb 2019) | 3 lines
    
    [InstCombine] Expand Windows test (NFC)
    
    Run checks for Win64 as well.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r352917 | evandro | 2019-02-01 22:14:10 +0100 (Fri, 01 Feb 2019) | 3 lines
    
    [InstCombine] Expand Windows test (NFC)
    
    Run checks for Win32 as well.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r352935 | evandro | 2019-02-01 23:52:05 +0100 (Fri, 01 Feb 2019) | 1 line
    
    [InstCombine] Refactor test checks (NFC)
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353213 | evandro | 2019-02-05 21:24:21 +0100 (Tue, 05 Feb 2019) | 3 lines
    
    [TargetLibraryInfo] Regroup run time functions for Windows (NFC)
    
    Regroup supported and unsupported functions by precision and C standard.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353733 | evandro | 2019-02-11 20:02:28 +0100 (Mon, 11 Feb 2019) | 8 lines
    
    [TargetLibraryInfo] Update run time support for Windows
    
    It seems that the run time for Windows has changed and supports more math
    functions than it used to, especially on AArch64, ARM, and AMD64.
    
    Fixes PR40541.
    
    Differential revision: https://reviews.llvm.org/D57625
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353758 | evandro | 2019-02-11 23:12:01 +0100 (Mon, 11 Feb 2019) | 6 lines
    
    [TargetLibraryInfo] Update run time support for Windows
    
    It seems that, since VC19, the `float` C99 math functions are supported for all
    targets, unlike the C89 ones.
    
    According to the discussion at https://reviews.llvm.org/D57625.
    ------------------------------------------------------------------------
    
    llvm-svn: 353934
    zmodem committed Feb 13, 2019
    Configuration menu
    Copy the full SHA
    be8c9e3 View commit details
    Browse the repository at this point in the history
  2. Revert r350404

    This caused https://bugs.llvm.org/show_bug.cgi?id=40642:
    "After 350404, clang drops volatile load"
    
    > Refactor the way we handle diagnosing unused expression results.
    >
    > Rather than sprinkle calls to DiagnoseUnusedExprResult() around in places
    > where we want diagnostics, we now diagnose unused expression statements and
    > full expressions in a more generic way when acting on the final expression
    > statement. This results in more appropriate diagnostics for [[nodiscard]] where
    > we were previously lacking them, such as when the body of a for loop is not a
    > compound statement.
    >
    > This patch fixes PR39837.
    
    llvm-svn: 353935
    zmodem committed Feb 13, 2019
    Configuration menu
    Copy the full SHA
    6e3c4d5 View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2019

  1. Merging r353976:

    ------------------------------------------------------------------------
    r353976 | epilk | 2019-02-13 21:32:37 +0100 (Wed, 13 Feb 2019) | 11 lines
    
    [Sema] Delay checking whether objc_designated_initializer is being applied to an init method
    
    This fixes a regression that was caused by r335084, which reversed
    the order that attributes are applied. objc_method_family can change
    whether a method is an init method, so the order that these
    attributes are applied matters. The commit fixes this by delaying the
    init check until after all attributes have been applied.
    
    rdar://47829358
    
    Differential revision: https://reviews.llvm.org/D58152
    ------------------------------------------------------------------------
    
    llvm-svn: 354015
    zmodem committed Feb 14, 2019
    Configuration menu
    Copy the full SHA
    c957a99 View commit details
    Browse the repository at this point in the history
  2. Merging r353968:

    ------------------------------------------------------------------------
    r353968 | ruiu | 2019-02-13 19:51:15 +0100 (Wed, 13 Feb 2019) | 10 lines
    
    Recover elf32-bigmips and elf32-powerpc support in LLD
    
    This fixes a 7.0 -> 8.0 regression when parsing
    OUTPUT_FORMAT("elf32-powerpc"); or elf32-bigmips directive in ldscripts
    as well as an unknown emulation error when lld is invoked by clang due
    to missed elf32ppclinux case.
    
    Patch by vit9696
    
    Differential Revision: https://reviews.llvm.org/D58005
    ------------------------------------------------------------------------
    
    llvm-svn: 354016
    zmodem committed Feb 14, 2019
    Configuration menu
    Copy the full SHA
    1152134 View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2019

  1. Merging r354074:

    ------------------------------------------------------------------------
    r354074 | epilk | 2019-02-14 23:48:01 +0100 (Thu, 14 Feb 2019) | 9 lines
    
    [Sema] Fix-up a -Wfloat-conversion diagnostic
    
    We were warning on valid ObjC property reference exprs, and passing
    in the wrong arguments to DiagnoseFloatingImpCast (leading to a badly
    worded diagnostic).
    
    rdar://47644670
    
    Differential revision: https://reviews.llvm.org/D58145
    ------------------------------------------------------------------------
    
    llvm-svn: 354129
    zmodem committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    ff29092 View commit details
    Browse the repository at this point in the history
  2. Merging r353943:

    ------------------------------------------------------------------------
    r353943 | baloghadamsoftware | 2019-02-13 13:25:47 +0100 (Wed, 13 Feb 2019) | 22 lines
    
    [Analyzer] Crash fix for FindLastStoreBRVisitor
    
    FindLastStoreBRVisitor tries to find the first node in the exploded graph where
    the current value was assigned to a region. This node is called the "store
    site". It is identified by a pair of Pred and Succ nodes where Succ already has
    the binding for the value while Pred does not have it. However the visitor
    mistakenly identifies a node pair as the store site where the value is a
    `LazyCompoundVal` and `Pred` does not have a store yet but `Succ` has it. In
    this case the `LazyCompoundVal` is different in the `Pred` node because it also
    contains the store which is different in the two nodes. This error may lead to
    crashes (a declaration is cast to a parameter declaration without check) or
    misleading bug path notes.
    
    In this patch we fix this problem by checking for unequal `LazyCompoundVals`: if
    their region is equal, and their store is the same as the store of their nodes
    we consider them as equal when looking for the "store site". This is an
    approximation because we do not check for differences of the subvalues
    (structure members or array elements) in the stores.
    
    Differential Revision: https://reviews.llvm.org/D58067
    
    
    ------------------------------------------------------------------------
    
    llvm-svn: 354130
    zmodem committed Feb 15, 2019
    Configuration menu
    Copy the full SHA
    8015928 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2019

  1. Merging r354035:

    ------------------------------------------------------------------------
    r354035 | brunoricci | 2019-02-14 16:43:17 +0100 (Thu, 14 Feb 2019) | 23 lines
    
    [Sema] Fix a regression introduced in "[AST][Sema] Remove CallExpr::setNumArgs"
    
    D54902 removed CallExpr::setNumArgs in preparation of tail-allocating the
    arguments of CallExpr. It did this by allocating storage for
    max(number of arguments, number of parameters in the prototype). The
    temporarily nulled arguments however causes issues in BuildResolvedCallExpr
    when typo correction is done just after the creation of the call expression.
    
    This was unfortunately missed by the tests /:
    
    To fix this, delay setting the number of arguments to
    max(number of arguments, number of parameters in the prototype) until we are
    ready for it. It would be nice to have this encapsulated in CallExpr but this
    is the best I can come up with under the constraint that we cannot add
    anything the CallExpr.
    
    Fixes PR40286.
    
    Differential Revision: https://reviews.llvm.org/D57948
    
    Reviewed By: aaron.ballman
    
    
    ------------------------------------------------------------------------
    
    llvm-svn: 354247
    zmodem committed Feb 18, 2019
    Configuration menu
    Copy the full SHA
    a7da36b View commit details
    Browse the repository at this point in the history
  2. Merging r354147:

    ------------------------------------------------------------------------
    r354147 | jfb | 2019-02-15 18:26:29 +0100 (Fri, 15 Feb 2019) | 27 lines
    
    Variable auto-init of blocks capturing self after init bugfix
    
    Summary:
    Blocks that capture themselves (and escape) after initialization currently codegen wrong because this:
    
      bool capturedByInit =
          Init && emission.IsEscapingByRef && isCapturedBy(D, Init);
    
      Address Loc =
          capturedByInit ? emission.Addr : emission.getObjectAddress(*this);
    
    Already adjusts Loc from thr alloca to a GEP. This code:
    
        if (emission.IsEscapingByRef)
          Loc = emitBlockByrefAddress(Loc, &D, /*follow=*/false);
    
    Was trying to do the same adjustment, and a GEP on a GEP (returning an int) triggers an assertion.
    
    <rdar://problem/47943027>
    
    Reviewers: ahatanak
    
    Subscribers: jkorous, dexonsmith, cfe-commits, rjmccall
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D58218
    ------------------------------------------------------------------------
    
    llvm-svn: 354248
    zmodem committed Feb 18, 2019
    Configuration menu
    Copy the full SHA
    07a7439 View commit details
    Browse the repository at this point in the history
  3. Merging r354128 and r354131:

    ------------------------------------------------------------------------
    r354128 | courbet | 2019-02-15 13:58:06 +0100 (Fri, 15 Feb 2019) | 1 line
    
    [MergeICmps][NFC] Improve doc.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r354131 | courbet | 2019-02-15 15:17:17 +0100 (Fri, 15 Feb 2019) | 15 lines
    
    [MergeICmps] Make base ordering really deterministic.
    
    Summary:
    The idea is that we now manipulate bases through a `unsigned BaseID` based on
    order of appearance in the comparison chain rather than through the `Value*`.
    
    Fixes 40714.
    
    Reviewers: gchatelet
    
    Subscribers: mgrang, jfb, jdoerfert, llvm-commits, hans
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D58274
    ------------------------------------------------------------------------
    
    llvm-svn: 354249
    zmodem committed Feb 18, 2019
    Configuration menu
    Copy the full SHA
    25c79d9 View commit details
    Browse the repository at this point in the history
  4. Merging r354144:

    ------------------------------------------------------------------------
    r354144 | spatel | 2019-02-15 17:31:55 +0100 (Fri, 15 Feb 2019) | 3 lines
    
    [InstCombine] fix crash while trying to narrow a binop of shuffles (PR40734)
    
    https://bugs.llvm.org/show_bug.cgi?id=40734
    ------------------------------------------------------------------------
    
    llvm-svn: 354252
    zmodem committed Feb 18, 2019
    Configuration menu
    Copy the full SHA
    783fd93 View commit details
    Browse the repository at this point in the history
  5. Merging r353642:

    ------------------------------------------------------------------------
    r353642 | teemperor | 2019-02-10 16:23:58 +0100 (Sun, 10 Feb 2019) | 13 lines
    
    lldb: Fix compilation on OpenBSD
    
    Summary: Update the OpenBSD Host.cpp for the new SetFile() function signature. Fixes compiling lldb on OpenBSD.
    
    Reviewers: krytarowski
    
    Reviewed By: krytarowski
    
    Subscribers: lldb-commits
    
    Tags: #lldb
    
    Differential Revision: https://reviews.llvm.org/D57907
    ------------------------------------------------------------------------
    
    llvm-svn: 354253
    zmodem committed Feb 18, 2019
    Configuration menu
    Copy the full SHA
    46fbca3 View commit details
    Browse the repository at this point in the history
  6. Merging r354029:

    ------------------------------------------------------------------------
    r354029 | mgorny | 2019-02-14 14:52:31 +0100 (Thu, 14 Feb 2019) | 7 lines
    
    [lldb] [MainLoop] Report errno for failed kevent()
    
    Modify the kevent() error reporting to use errno rather than returning
    the return value.  At least on FreeBSD and NetBSD, kevent() always
    returns -1 in case of error, and the actual error is returned via errno.
    
    Differential Revision: https://reviews.llvm.org/D58229
    ------------------------------------------------------------------------
    
    llvm-svn: 354254
    zmodem committed Feb 18, 2019
    Configuration menu
    Copy the full SHA
    096ef4c View commit details
    Browse the repository at this point in the history
  7. Merging r354122:

    ------------------------------------------------------------------------
    r354122 | mgorny | 2019-02-15 13:13:02 +0100 (Fri, 15 Feb 2019) | 10 lines
    
    [lldb] [MainLoop] Add kevent() EINTR handling
    
    Add missing EINTR handling for kevent() calls.  If the call is
    interrupted, return from Poll() as if zero events were returned and let
    the polling resume on next iteration.  This fixes test flakiness
    on NetBSD.
    
    Includes a test case suggested by Pavel Labath on D42206.
    
    Differential Revision: https://reviews.llvm.org/D58230
    ------------------------------------------------------------------------
    
    llvm-svn: 354255
    zmodem committed Feb 18, 2019
    Configuration menu
    Copy the full SHA
    81bd9db View commit details
    Browse the repository at this point in the history
  8. Merging r353907:

    ------------------------------------------------------------------------
    r353907 | rnk | 2019-02-13 02:39:32 +0100 (Wed, 13 Feb 2019) | 6 lines
    
    [MC] Make symbol version errors non-fatal
    
    We stil don't have a source location, which is pretty lame, but at least
    we won't tell the user to file a clang bug report anymore.
    
    Fixes PR40712
    ------------------------------------------------------------------------
    
    llvm-svn: 354257
    zmodem committed Feb 18, 2019
    Configuration menu
    Copy the full SHA
    6051407 View commit details
    Browse the repository at this point in the history
  9. Merging r354034 and r354117:

    ------------------------------------------------------------------------
    r354034 | rksimon | 2019-02-14 15:45:32 +0100 (Thu, 14 Feb 2019) | 1 line
    
    [X86][AVX] Add PR40730 test case
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r354117 | rksimon | 2019-02-15 12:39:21 +0100 (Fri, 15 Feb 2019) | 9 lines
    
    [X86][AVX] lowerShuffleAsLanePermuteAndPermute - fully populate the lane shuffle mask (PR40730)
    
    As detailed on PR40730, we are not correctly filling in the lane shuffle mask (D53148/rL344446) - we fill in for the correct src lane but don't add it to the correct mask element, so any reference to the correct element is likely to see an UNDEF mask index.
    
    This allows constant folding to propagate UNDEFs prior to the lane mask being (correctly) lowered to vperm2f128.
    
    This patch fixes the issue by fully populating the lane shuffle mask - this is more than is necessary (if we only filled in the required mask elements we might be able to match other shuffle instructions - broadcasts etc.), but its the most cautious approach as this needs to be cherrypicked into the 8.0.0 release branch.
    
    Differential Revision: https://reviews.llvm.org/D58237
    ------------------------------------------------------------------------
    
    llvm-svn: 354260
    zmodem committed Feb 18, 2019
    Configuration menu
    Copy the full SHA
    cc3d3f1 View commit details
    Browse the repository at this point in the history
  10. [ReleaseNotes] Add note about removal of Nios2 backend. Add some note…

    …s on X86 changes.
    
    llvm-svn: 354281
    topperc committed Feb 18, 2019
    Configuration menu
    Copy the full SHA
    e3d91da View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2019

  1. docs: Remove in-progress warning

    llvm-svn: 354320
    zmodem committed Feb 19, 2019
    Configuration menu
    Copy the full SHA
    79a42b6 View commit details
    Browse the repository at this point in the history
  2. remove another in-progress note

    llvm-svn: 354321
    zmodem committed Feb 19, 2019
    Configuration menu
    Copy the full SHA
    81717ef View commit details
    Browse the repository at this point in the history
  3. ReleaseNotes: remove in-progress warning, and minor tweaks

    llvm-svn: 354326
    zmodem committed Feb 19, 2019
    Configuration menu
    Copy the full SHA
    6a57428 View commit details
    Browse the repository at this point in the history
  4. ReleaseNotes: remove in-progress warning and doxygen link

    llvm-svn: 354327
    zmodem committed Feb 19, 2019
    Configuration menu
    Copy the full SHA
    363f1d0 View commit details
    Browse the repository at this point in the history
  5. ReleaseNotes: remove in-progress warning

    llvm-svn: 354331
    zmodem committed Feb 19, 2019
    Configuration menu
    Copy the full SHA
    b1c5e90 View commit details
    Browse the repository at this point in the history
  6. ReleaseNotes: remove in-progress warning

    llvm-svn: 354334
    zmodem committed Feb 19, 2019
    Configuration menu
    Copy the full SHA
    fbaa8ef View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2019

  1. Merging r354422:

    ------------------------------------------------------------------------
    r354422 | tstellar | 2019-02-20 02:40:35 +0100 (Wed, 20 Feb 2019) | 11 lines
    
    ELF: Fix typo in --build-id option description
    
    Reviewers: ruiu, espindola
    
    Reviewed By: ruiu
    
    Subscribers: emaste, arichardson, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D58265
    ------------------------------------------------------------------------
    
    llvm-svn: 354440
    zmodem committed Feb 20, 2019
    Configuration menu
    Copy the full SHA
    5decb13 View commit details
    Browse the repository at this point in the history
  2. ReleaseNotes: initial ppc support in llvm-exegesis

    llvm-svn: 354448
    zmodem committed Feb 20, 2019
    Configuration menu
    Copy the full SHA
    d6e87c2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6977a57 View commit details
    Browse the repository at this point in the history
  4. ReleaseNotes: AArch64 tiny code model

    llvm-svn: 354457
    zmodem committed Feb 20, 2019
    Configuration menu
    Copy the full SHA
    e4bde92 View commit details
    Browse the repository at this point in the history
  5. ReleaseNotes: all PowerPC changes

    llvm-svn: 354458
    zmodem committed Feb 20, 2019
    Configuration menu
    Copy the full SHA
    b936e1c View commit details
    Browse the repository at this point in the history
  6. Merging r354351:

    ------------------------------------------------------------------------
    r354351 | hans | 2019-02-19 17:58:25 +0100 (Tue, 19 Feb 2019) | 12 lines
    
    Remove extraneous space in MSVC-style diagnostic output
    
    There was an extra space between the file location and the diagnostic
    message:
    
      /tmp/a.c(1,12):  warning: unused parameter 'unused'
    
    the tests didn't catch this due to FileCheck not running in --strict-whitespace mode.
    
    Reported by Marco: http://lists.llvm.org/pipermail/cfe-dev/2019-February/061326.html
    
    Differential revision: https://reviews.llvm.org/D58377
    ------------------------------------------------------------------------
    
    llvm-svn: 354459
    zmodem committed Feb 20, 2019
    Configuration menu
    Copy the full SHA
    83dcd05 View commit details
    Browse the repository at this point in the history
  7. Merging r354402:

    ------------------------------------------------------------------------
    r354402 | eugenis | 2019-02-20 00:41:42 +0100 (Wed, 20 Feb 2019) | 3 lines
    
    [msan] Fix name_to_handle_at test on overlayfs.
    
    Udev supports name_to_handle_at. Use /dev/null instead of /bin/cat.
    ------------------------------------------------------------------------
    
    llvm-svn: 354460
    zmodem committed Feb 20, 2019
    Configuration menu
    Copy the full SHA
    cd76cba View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2019

  1. Configuration menu
    Copy the full SHA
    0157e01 View commit details
    Browse the repository at this point in the history
  2. Merging r354497:

    ------------------------------------------------------------------------
    r354497 | tstellar | 2019-02-20 19:43:45 +0100 (Wed, 20 Feb 2019) | 16 lines
    
    AArch64/test: Add check for function name to machine-outliner-bad-adrp.mir
    
    Summary:
    This test was failing in one of our setups because the generated ModuleID
    had the full path of the test file and that path contained the string
    BL.
    
    Reviewers: t.p.northover, jpaquette, paquette
    
    Reviewed By: paquette
    
    Subscribers: javed.absar, kristof.beyls, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D58217
    ------------------------------------------------------------------------
    
    llvm-svn: 354555
    zmodem committed Feb 21, 2019
    Configuration menu
    Copy the full SHA
    96ddd7d View commit details
    Browse the repository at this point in the history
  3. ReleaseNotes: speculative load hardening; text by Kristof

    llvm-svn: 354582
    zmodem committed Feb 21, 2019
    Configuration menu
    Copy the full SHA
    9d332ff View commit details
    Browse the repository at this point in the history
  4. ReleaseNotes: speculative load hardening; text by Kristof

    llvm-svn: 354583
    zmodem committed Feb 21, 2019
    Configuration menu
    Copy the full SHA
    5a681e4 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2019

  1. Release notes: a few lldb changes, by Raphael Isemann!

    llvm-svn: 354659
    zmodem committed Feb 22, 2019
    Configuration menu
    Copy the full SHA
    6f2b277 View commit details
    Browse the repository at this point in the history
  2. ReleaseNotes: -ftrivial-auto-var-init

    llvm-svn: 354660
    zmodem committed Feb 22, 2019
    Configuration menu
    Copy the full SHA
    b821974 View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2019

  1. Configuration menu
    Copy the full SHA
    2400dc6 View commit details
    Browse the repository at this point in the history