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

LLVM_COMPLETE_INSTALLATION #29

Closed
wants to merge 274 commits into from
Closed

LLVM_COMPLETE_INSTALLATION #29

wants to merge 274 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jan 18, 2019

  1. Merging r351459:

    ------------------------------------------------------------------------
    r351459 | arphaman | 2019-01-17 19:12:45 +0100 (Thu, 17 Jan 2019) | 13 lines
    
    [ObjC] Follow-up r350768 and allow the use of unavailable methods that are
    declared in a parent class from within the @implementation context
    
    This commit extends r350768 and allows the use of methods marked as unavailable
    that are declared in a parent class/category from within the @implementation of
    the class where the method is marked as unavailable.
    This allows users to call init that's marked as unavailable even if they don't
    define it.
    
    rdar://47134898
    
    Differential Revision: https://reviews.llvm.org/D56816
    
    ------------------------------------------------------------------------
    
    llvm-svn: 351535
    zmodem committed Jan 18, 2019
    Configuration menu
    Copy the full SHA
    ad1624f View commit details
    Browse the repository at this point in the history
  2. Merging r351504:

    ------------------------------------------------------------------------
    r351504 | brad | 2019-01-18 02:36:58 +0100 (Fri, 18 Jan 2019) | 2 lines
    
    Use llvm::VersionTuple instead of manual version marshalling
    
    ------------------------------------------------------------------------
    
    llvm-svn: 351536
    zmodem committed Jan 18, 2019
    Configuration menu
    Copy the full SHA
    d4d3f77 View commit details
    Browse the repository at this point in the history
  3. Merging r351463, r351466, r351467, and r351468

    ------------------------------------------------------------------------
    r351463 | eugenezelenko | 2019-01-17 19:31:34 +0100 (Thu, 17 Jan 2019) | 6 lines
    
    [Documentation] Add a chapter about Clang-tidy integrations.
    
    Patch by Marina Kalashina.
    
    Differential Revision: https://reviews.llvm.org/D54945
    
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r351466 | eugenezelenko | 2019-01-17 20:35:39 +0100 (Thu, 17 Jan 2019) | 2 lines
    
    [Documentation] Fix link in docs/clang-tidy/Contributing.rst.
    
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r351467 | eugenezelenko | 2019-01-17 20:47:44 +0100 (Thu, 17 Jan 2019) | 2 lines
    
    [Documentation] Another attempt to fix link in docs/clang-tidy/Contributing.rst. Use HTTPS for links.
    
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r351468 | eugenezelenko | 2019-01-17 21:00:23 +0100 (Thu, 17 Jan 2019) | 2 lines
    
    [Documentation] Fix another link in docs/clang-tidy/Contributing.rst.
    
    ------------------------------------------------------------------------
    
    llvm-svn: 351538
    zmodem committed Jan 18, 2019
    Configuration menu
    Copy the full SHA
    6e751e8 View commit details
    Browse the repository at this point in the history
  4. Merging r351426:

    ------------------------------------------------------------------------
    r351426 | d0k | 2019-01-17 11:25:18 +0100 (Thu, 17 Jan 2019) | 1 line
    
    [MC] Remove unused variable
    ------------------------------------------------------------------------
    
    llvm-svn: 351543
    zmodem committed Jan 18, 2019
    Configuration menu
    Copy the full SHA
    e264dae View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2019

  1. Merging r351580:

    ------------------------------------------------------------------------
    r351580 | kli | 2019-01-18 20:57:37 +0100 (Fri, 18 Jan 2019) | 4 lines
    
    [OPENMP][DOCS] Release notes/OpenMP support updates, NFC.
    
    Differential Revision: https://reviews.llvm.org/D56733
    
    ------------------------------------------------------------------------
    
    llvm-svn: 351839
    zmodem committed Jan 22, 2019
    Configuration menu
    Copy the full SHA
    119d8a5 View commit details
    Browse the repository at this point in the history
  2. Merging r351686:

    ------------------------------------------------------------------------
    r351686 | vmiklos | 2019-01-20 15:28:27 +0100 (Sun, 20 Jan 2019) | 5 lines
    
    [clang-tidy] misc-non-private-member-variables-in-classes: ignore implicit methods
    
    Otherwise we don't warn on a struct containing a single public int, but
    we warn on a struct containing a single public std::string, which is
    inconsistent.
    ------------------------------------------------------------------------
    
    llvm-svn: 351844
    zmodem committed Jan 22, 2019
    Configuration menu
    Copy the full SHA
    eb74b59 View commit details
    Browse the repository at this point in the history
  3. Merging r351753:

    ------------------------------------------------------------------------
    r351753 | spatel | 2019-01-21 18:30:14 +0100 (Mon, 21 Jan 2019) | 8 lines
    
    [DAGCombiner] fix crash when converting build vector to shuffle
    
    The regression test is reduced from the example shown in D56281.
    This does raise a question as noted in the test file: do we want
    to handle this pattern? I don't have a motivating example for
    that on x86 yet, but it seems like we could have that pattern 
    there too, so we could avoid the back-and-forth using a shuffle.
    
    ------------------------------------------------------------------------
    
    llvm-svn: 351857
    zmodem committed Jan 22, 2019
    Configuration menu
    Copy the full SHA
    2bebfeb View commit details
    Browse the repository at this point in the history
  4. Merging r351754:

    ------------------------------------------------------------------------
    r351754 | spatel | 2019-01-21 18:46:35 +0100 (Mon, 21 Jan 2019) | 6 lines
    
    [AArch64] add more tests for buildvec to shuffle transform; NFC
    
    These are copied from the sibling x86 file. I'm not sure which
    of the current outputs (if any) is considered optimal, but
    someone more familiar with AArch may want to take a look.
    
    ------------------------------------------------------------------------
    
    llvm-svn: 351858
    zmodem committed Jan 22, 2019
    Configuration menu
    Copy the full SHA
    ee231d0 View commit details
    Browse the repository at this point in the history
  5. Merging r351788:

    ------------------------------------------------------------------------
    r351788 | kadircet | 2019-01-22 10:10:20 +0100 (Tue, 22 Jan 2019) | 15 lines
    
    [clangd] Filter out plugin related flags and move all commandline manipulations into OverlayCDB.
    
    Summary:
    Some projects make use of clang plugins when building, but clangd is
    not aware of those plugins therefore can't work with the same compile command
    arguments.
    
    There were multiple places clangd performed commandline manipulations,
     this one also moves them all into OverlayCDB.
    
    Reviewers: ilya-biryukov
    
    Subscribers: klimek, sammccall, ioeric, MaskRay, jkorous, arphaman, cfe-commits
    
    Differential Revision: https://reviews.llvm.org/D56841
    ------------------------------------------------------------------------
    
    llvm-svn: 351860
    zmodem committed Jan 22, 2019
    Configuration menu
    Copy the full SHA
    642a173 View commit details
    Browse the repository at this point in the history
  6. [docs] Amend the release notes with more things I've contributed sinc…

    …e the last release
    
    Differential Revision: https://reviews.llvm.org/D57005
    
    llvm-svn: 351868
    mstorsjo committed Jan 22, 2019
    Configuration menu
    Copy the full SHA
    a05d35f View commit details
    Browse the repository at this point in the history
  7. [docs] Add release notes for notable things I've contributed since la…

    …st release
    
    Differential Revision: https://reviews.llvm.org/D57003
    
    llvm-svn: 351870
    mstorsjo committed Jan 22, 2019
    Configuration menu
    Copy the full SHA
    78ecdd7 View commit details
    Browse the repository at this point in the history
  8. [docs] Add release notes for notable things I've contributed since la…

    …st release
    
    Differential Revision: https://reviews.llvm.org/D57004
    
    llvm-svn: 351872
    mstorsjo committed Jan 22, 2019
    Configuration menu
    Copy the full SHA
    1e7e399 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2019

  1. Merging r351531:

    ------------------------------------------------------------------------
    r351531 | kadircet | 2019-01-18 10:00:31 +0100 (Fri, 18 Jan 2019) | 11 lines
    
    [tooling] Add a new argument adjuster for deleting plugin related command line args
    
    Summary:
    Currently both clangd and clang-tidy makes use of this mechanism so
    putting it into tooling so that all tools can make use of it.
    
    Reviewers: ilya-biryukov, sammccall
    
    Subscribers: ioeric, cfe-commits
    
    Differential Revision: https://reviews.llvm.org/D56856
    ------------------------------------------------------------------------
    
    llvm-svn: 351961
    zmodem committed Jan 23, 2019
    Configuration menu
    Copy the full SHA
    d0fae09 View commit details
    Browse the repository at this point in the history
  2. Merging r351738:

    ------------------------------------------------------------------------
    r351738 | kadircet | 2019-01-21 11:10:18 +0100 (Mon, 21 Jan 2019) | 9 lines
    
    [clang-tidy] Use getStripPluginsAdjuster
    
    Summary: See rC351531 for the introduction of getStripPluginsAdjuster.
    
    Reviewers: alexfh
    
    Subscribers: xazax.hun, cfe-commits
    
    Differential Revision: https://reviews.llvm.org/D56902
    ------------------------------------------------------------------------
    
    llvm-svn: 351962
    zmodem committed Jan 23, 2019
    Configuration menu
    Copy the full SHA
    f669262 View commit details
    Browse the repository at this point in the history
  3. Merging r351898:

    ------------------------------------------------------------------------
    r351898 | pcc | 2019-01-23 00:51:35 +0100 (Wed, 23 Jan 2019) | 13 lines
    
    COFF, ELF: Adjust ICF hash computation to account for self relocations.
    
    It turns out that sections in PGO instrumented object files on Windows
    contain a large number of relocations pointing to themselves. With
    r347429 this can cause many sections to receive the same hash (usually
    zero) as a result of a section's hash being xor'ed with itself.
    
    This patch causes the COFF and ELF linkers to avoid this problem
    by adding the hash of the relocated section instead of xor'ing it.
    On my machine this causes the regressing test case
    provided by Mozilla to terminate in 2m41s.
    
    Differential Revision: https://reviews.llvm.org/D56955
    ------------------------------------------------------------------------
    
    llvm-svn: 351963
    zmodem committed Jan 23, 2019
    Configuration menu
    Copy the full SHA
    40cbc00 View commit details
    Browse the repository at this point in the history
  4. Merging r351899:

    ------------------------------------------------------------------------
    r351899 | pcc | 2019-01-23 00:54:49 +0100 (Wed, 23 Jan 2019) | 26 lines
    
    COFF, ELF: ICF: Perform 2 rounds of relocation hash propagation.
    
    LLD's performance on PGO instrumented Windows binaries was still not
    great even with the fix in D56955; out of the 2m41s linker runtime,
    around 2 minutes were still being spent in ICF. I looked into this more
    closely and discovered that the vast majority of the runtime was being
    spent segregating .pdata sections with the following relocation chain:
    
    .pdata -> identical .text -> unique PGO counter (not eligible for ICF)
    
    This patch causes us to perform 2 rounds of relocation hash
    propagation, which allows the hash for the .pdata sections to
    incorporate the identifier from the PGO counter. With that, the amount
    of time spent in ICF was reduced to about 2 seconds. I also found that
    the same change led to a significant ICF performance improvement in a
    regular release build of Chromium's chrome_child.dll, where ICF time
    was reduced from around 1s to around 700ms.
    
    With the same change applied to the ELF linker, median of 100 runs
    for lld-speed-test/chrome reduced from 4.53s to 4.45s on my machine.
    
    I also experimented with increasing the number of propagation rounds
    further, but I did not observe any further significant performance
    improvements linking Chromium or Firefox.
    
    Differential Revision: https://reviews.llvm.org/D56986
    ------------------------------------------------------------------------
    
    llvm-svn: 351964
    zmodem committed Jan 23, 2019
    Configuration menu
    Copy the full SHA
    b00b2b8 View commit details
    Browse the repository at this point in the history
  5. Merging r351670:

    ------------------------------------------------------------------------
    r351670 | ericwf | 2019-01-20 02:21:35 +0100 (Sun, 20 Jan 2019) | 7 lines
    
    Fix aligned allocation availability XFAILs after D56445.
    
    D56445 bumped the minimum Mac OS X version required for aligned
    allocation from 10.13 to 10.14. This caused libc++ tests depending
    on the old value to break.
    
    This patch updates the XFAILs for those tests to include 10.13.
    ------------------------------------------------------------------------
    
    llvm-svn: 351980
    zmodem committed Jan 23, 2019
    Configuration menu
    Copy the full SHA
    17c9824 View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2019

  1. Merging r351930 and r351932:

    ------------------------------------------------------------------------
    r351930 | kbeyls | 2019-01-23 09:18:39 +0100 (Wed, 23 Jan 2019) | 30 lines
    
    [SLH] AArch64: correctly pick temporary register to mask SP
    
    As part of speculation hardening, the stack pointer gets masked with the
    taint register (X16) before a function call or before a function return.
    Since there are no instructions that can directly mask writing to the
    stack pointer, the stack pointer must first be transferred to another
    register, where it can be masked, before that value is transferred back
    to the stack pointer.
    Before, that temporary register was always picked to be x17, since the
    ABI allows clobbering x17 on any function call, resulting in the
    following instruction pattern being inserted before function calls and
    returns/tail calls:
    
    mov x17, sp
    and x17, x17, x16
    mov sp, x17
    However, x17 can be live in those locations, for example when the call
    is an indirect call, using x17 as the target address (blr x17).
    
    To fix this, this patch looks for an available register just before the
    call or terminator instruction and uses that.
    
    In the rare case when no register turns out to be available (this
    situation is only encountered twice across the whole test-suite), just
    insert a full speculation barrier at the start of the basic block where
    this occurs.
    
    Differential Revision: https://reviews.llvm.org/D56717
    
    
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r351932 | kbeyls | 2019-01-23 10:10:12 +0100 (Wed, 23 Jan 2019) | 3 lines
    
    [SLH][AArch64] Remove accidentally retained -debug-only line from test.
    
    
    ------------------------------------------------------------------------
    
    llvm-svn: 352115
    zmodem committed Jan 24, 2019
    Configuration menu
    Copy the full SHA
    22c2b2b View commit details
    Browse the repository at this point in the history
  2. Merging r352040:

    ------------------------------------------------------------------------
    r352040 | ibiryukov | 2019-01-24 11:41:43 +0100 (Thu, 24 Jan 2019) | 9 lines
    
    [CodeComplete] [clangd] Fix crash on ValueDecl with a null type
    
    Reviewers: kadircet
    
    Reviewed By: kadircet
    
    Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits
    
    Differential Revision: https://reviews.llvm.org/D57093
    ------------------------------------------------------------------------
    
    llvm-svn: 352118
    zmodem committed Jan 24, 2019
    Configuration menu
    Copy the full SHA
    a008fbe View commit details
    Browse the repository at this point in the history
  3. Merging r352040:

    ------------------------------------------------------------------------
    r352040 | ibiryukov | 2019-01-24 11:41:43 +0100 (Thu, 24 Jan 2019) | 9 lines
    
    [CodeComplete] [clangd] Fix crash on ValueDecl with a null type
    
    Reviewers: kadircet
    
    Reviewed By: kadircet
    
    Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits
    
    Differential Revision: https://reviews.llvm.org/D57093
    ------------------------------------------------------------------------
    
    llvm-svn: 352120
    zmodem committed Jan 24, 2019
    Configuration menu
    Copy the full SHA
    de8481e View commit details
    Browse the repository at this point in the history
  4. Merging r352102:

    ------------------------------------------------------------------------
    r352102 | rsmith | 2019-01-24 21:52:56 +0100 (Thu, 24 Jan 2019) | 2 lines
    
    Add a triple to this test so it passes for targets where alignof(double)
    really should be equal to alignof(float).
    ------------------------------------------------------------------------
    
    llvm-svn: 352132
    zmodem committed Jan 24, 2019
    Configuration menu
    Copy the full SHA
    400f8a3 View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2019

  1. Merging r352116:

    ------------------------------------------------------------------------
    r352116 | mgorny | 2019-01-24 23:20:47 +0100 (Thu, 24 Jan 2019) | 9 lines
    
    [Process/NetBSD] Add missing linkage to -lutil
    
    Add missing linkage to fix build failure with LLD:
    
      ld: error: undefined symbol: kinfo_getvmmap
      >>> referenced by NativeProcessNetBSD.cpp
      >>>               NativeProcessNetBSD.cpp.o:(lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache()) in archive lib/liblldbPluginProcessNetBSD.a
    
    Differential Revision: https://reviews.llvm.org/D57193
    ------------------------------------------------------------------------
    
    llvm-svn: 352134
    zmodem committed Jan 25, 2019
    Configuration menu
    Copy the full SHA
    24479b1 View commit details
    Browse the repository at this point in the history
  2. Merging r352082:

    ------------------------------------------------------------------------
    r352082 | ruiu | 2019-01-24 20:02:31 +0100 (Thu, 24 Jan 2019) | 15 lines
    
    Fix broken export table if .rdata is merged with .text.
    
    Previously, we assumed that .rdata is zero-filled, so when writing
    an COFF import table, we didn't write anything if the data is zero.
    That assumption was wrong because .rdata can be merged with .text.
    If .rdata is merged with .text, they are initialized with 0xcc which
    is a trap instruction.
    
    This patch removes that assumption from code.
    
    Should be merged to 8.0 branch as this is a regression.
    
    Fixes https://bugs.llvm.org/show_bug.cgi?id=39826
    
    Differential Revision: https://reviews.llvm.org/D57168
    ------------------------------------------------------------------------
    
    llvm-svn: 352135
    zmodem committed Jan 25, 2019
    Configuration menu
    Copy the full SHA
    22f92b5 View commit details
    Browse the repository at this point in the history
  3. Merging r351485:

    ------------------------------------------------------------------------
    r351485 | vstefanovic | 2019-01-17 22:50:37 +0100 (Thu, 17 Jan 2019) | 10 lines
    
    [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25
    
    The callee address is added as an optional operand (MCSymbol) in
    AdjustInstrPostInstrSelection() and then used by asm printer to insert:
    '.reloc tmplabel, R_MIPS_JALR, symbol
    tmplabel:'.
    Controlled with '-mips-jalr-reloc', default is true.
    
    Differential revision: https://reviews.llvm.org/D56694
    
    ------------------------------------------------------------------------
    
    llvm-svn: 352137
    zmodem committed Jan 25, 2019
    Configuration menu
    Copy the full SHA
    4474451 View commit details
    Browse the repository at this point in the history
  4. Merging r351579:

    ------------------------------------------------------------------------
    r351579 | vstefanovic | 2019-01-18 20:54:51 +0100 (Fri, 18 Jan 2019) | 9 lines
    
    [mips] Add '-mrelax-pic-calls', '-mno-relax-pic-calls'
    
    These two options enable/disable emission of R_{MICRO}MIPS_JALR fixups along
    with PIC calls. The linker may then try to turn PIC calls into direct jumps.
    By default, these fixups do get emitted by the backend, use
    '-mno-relax-pic-calls' to omit them.
    
    Differential revision: https://reviews.llvm.org/D56878
    
    ------------------------------------------------------------------------
    
    llvm-svn: 352139
    zmodem committed Jan 25, 2019
    Configuration menu
    Copy the full SHA
    b7988f7 View commit details
    Browse the repository at this point in the history
  5. Merging r352034:

    ------------------------------------------------------------------------
    r352034 | atanasyan | 2019-01-24 10:13:14 +0100 (Thu, 24 Jan 2019) | 18 lines
    
    Reapply: [mips] Handle MipsMCExpr sub-expression for the MEK_DTPREL tag
    
    This reapplies commit r351987 with a failed test fix. Now the test
    accepts both DW_OP_GNU_push_tls_address and DW_OP_form_tls_address
    opcode.
    
    Original commit message:
    ```
      This is a fix for a regression introduced by the rL348194 commit. In
      that change new type (MEK_DTPREL) of MipsMCExpr expression was added,
      but in some places of the code this type of expression considered as
      unexpected.
    
      This change fixes the bug. The MEK_DTPREL type of expression is used for
      marking TLS DIEExpr only and contains a regular sub-expression. Where we
      need to handle the expression, we retrieve the sub-expression and
      handle it in a common way.
    ```
    ------------------------------------------------------------------------
    
    llvm-svn: 352140
    zmodem committed Jan 25, 2019
    Configuration menu
    Copy the full SHA
    e25507d View commit details
    Browse the repository at this point in the history
  6. Merging r352068:

    ------------------------------------------------------------------------
    r352068 | serge_sans_paille | 2019-01-24 18:56:08 +0100 (Thu, 24 Jan 2019) | 7 lines
    
    Partial support of SHT_GROUP without flag
    
    This does *not* implement full SHT_GROUP semantic, yet it is a simple step forward:
    Sections within a group are still considered valid, but they do not behave as
    specified by the standard in case of garbage collection.
    
    Differential Revision: https://reviews.llvm.org/D56437
    ------------------------------------------------------------------------
    
    llvm-svn: 352218
    zmodem committed Jan 25, 2019
    Configuration menu
    Copy the full SHA
    af62a72 View commit details
    Browse the repository at this point in the history
  7. Merging r352079:

    ------------------------------------------------------------------------
    r352079 | sammccall | 2019-01-24 19:55:24 +0100 (Thu, 24 Jan 2019) | 33 lines
    
    [FileManager] Revert r347205 to avoid PCH file-descriptor leak.
    
    Summary:
    r347205 fixed a bug in FileManager: first calling
    getFile(shouldOpen=false) and then getFile(shouldOpen=true) results in
    the file not being open.
    
    Unfortunately, some code was (inadvertently?) relying on this bug: when
    building with a PCH, the file entries are obtained first by passing
    shouldOpen=false, and then later shouldOpen=true, without any intention
    of reading them. After r347205, they do get unneccesarily opened.
    Aside from extra operations, this means they need to be closed. Normally
    files are closed when their contents are read. As these files are never
    read, they stay open until clang exits. On platforms with a low
    open-files limit (e.g. Mac), this can lead to spurious file-not-found
    errors when building large projects with PCH enabled, e.g.
      https://bugs.chromium.org/p/chromium/issues/detail?id=924225
    
    Fixing the callsites to pass shouldOpen=false when the file won't be
    read is not quite trivial (that info isn't available at the direct
    callsite), and passing shouldOpen=false is a performance regression (it
    results in open+fstat pairs being replaced by stat+open).
    
    So an ideal fix is going to be a little risky and we need some fix soon
    (especially for the llvm 8 branch).
    The problem addressed by r347205 is rare and has only been observed in
    clangd. It was present in llvm-7, so we can live with it for now.
    
    Reviewers: bkramer, thakis
    
    Subscribers: ilya-biryukov, ioeric, kadircet, cfe-commits
    
    Differential Revision: https://reviews.llvm.org/D57165
    ------------------------------------------------------------------------
    
    llvm-svn: 352225
    zmodem committed Jan 25, 2019
    Configuration menu
    Copy the full SHA
    4ba28fc View commit details
    Browse the repository at this point in the history
  8. Merging r352204:

    ------------------------------------------------------------------------
    r352204 | sammccall | 2019-01-25 16:05:33 +0100 (Fri, 25 Jan 2019) | 7 lines
    
    [JSON] Work around excess-precision issue when comparing T_Integer numbers.
    
    Reviewers: bkramer
    
    Subscribers: kristina, llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D57237
    ------------------------------------------------------------------------
    
    llvm-svn: 352233
    zmodem committed Jan 25, 2019
    Configuration menu
    Copy the full SHA
    9fbd743 View commit details
    Browse the repository at this point in the history
  9. Merging r352234:

    ------------------------------------------------------------------------
    r352234 | dim | 2019-01-25 20:36:47 +0100 (Fri, 25 Jan 2019) | 38 lines
    
    Fix XRayTest link on FreeBSD (and likely NetBSD too)
    
    Summary:
    As reported on llvm-testers, during 8.0.0-rc1 testing I got errors while
    building of `XRayTest`, during `check-all`:
    
    ```
    [100%] Generating XRayTest-x86_64-Test
    /home/dim/llvm/8.0.0/rc1/Phase3/Release/llvmCore-8.0.0-rc1.obj/./lib/libLLVMSupport.a(Signals.cpp.o): In function `llvm::sys::PrintStackTrace(llvm::raw_ostream&)':
    Signals.cpp:(.text._ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x24): undefined reference to `backtrace'
    Signals.cpp:(.text._ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x254): undefined reference to `llvm::itaniumDemangle(char const*, char*, unsigned long*, int*)'
    clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
    gmake[3]: *** [projects/compiler-rt/lib/xray/tests/unit/CMakeFiles/TXRayTest-x86_64-Test.dir/build.make:73: projects/compiler-rt/lib/xray/tests/unit/XRayTest-x86_64-Test] Error 1
    gmake[3]: Target 'projects/compiler-rt/lib/xray/tests/unit/CMakeFiles/TXRayTest-x86_64-Test.dir/build' not remade because of errors.
    gmake[2]: *** [CMakeFiles/Makefile2:33513: projects/compiler-rt/lib/xray/tests/unit/CMakeFiles/TXRayTest-x86_64-Test.dir/all] Error 2
    gmake[2]: Target 'CMakeFiles/check-all.dir/all' not remade because of errors.
    gmake[1]: *** [CMakeFiles/Makefile2:737: CMakeFiles/check-all.dir/rule] Error 2
    gmake[1]: Target 'check-all' not remade because of errors.
    gmake: *** [Makefile:277: check-all] Error 2
    [Release Phase3] check-all failed
    ```
    
    This is because the `backtrace` function requires `-lexecinfo` on BSD
    platforms.  To fix this, detect the `execinfo` library in
    `cmake/config-ix.cmake`, and add it to the unit test link flags.
    
    Additionally, since the code in `sys::PrintStackTrace` makes use of
    `itaniumDemangle`, also add `-lLLVMDemangle`.  (Note that this is more
    of a general problem with libLLVMSupport, but I'm looking for a quick
    fix now so it can be merged to the 8.0 branch.)
    
    Reviewers: dberris, hans, mgorny, samsonov
    
    Reviewed By: dberris
    
    Subscribers: krytarowski, delcypher, erik.pilkington, #sanitizers, emaste, llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D57181
    ------------------------------------------------------------------------
    
    llvm-svn: 352251
    zmodem committed Jan 25, 2019
    Configuration menu
    Copy the full SHA
    30d3a54 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2019

  1. Merging r352257:

    Redirecting to URL 'https://llvm.org/svn/llvm-project/lld/trunk':
    ------------------------------------------------------------------------
    r352257 | ruiu | 2019-01-26 01:31:49 +0100 (Sat, 26 Jan 2019) | 1 line
    
    Remove dead declaration.
    ------------------------------------------------------------------------
    
    llvm-svn: 352352
    zmodem committed Jan 28, 2019
    Configuration menu
    Copy the full SHA
    f149bca View commit details
    Browse the repository at this point in the history
  2. Remove failing test expectations.

    See discussions on the cfe-commits & clangd-dev thread about r352079.
    
    llvm-svn: 352354
    zmodem committed Jan 28, 2019
    Configuration menu
    Copy the full SHA
    01ddd7c View commit details
    Browse the repository at this point in the history
  3. Merging r352302:

    Redirecting to URL 'https://llvm.org/svn/llvm-project/lld/trunk':
    ------------------------------------------------------------------------
    r352302 | nickdesaulniers | 2019-01-27 03:54:23 +0100 (Sun, 27 Jan 2019) | 33 lines
    
    lld: elf: discard more specific .gnu.linkonce section
    
    Summary:
    lld discards .gnu.linonce.* sections work around a bug in glibc.
    https://sourceware.org/bugzilla/show_bug.cgi?id=20543
    
    Unfortunately, the Linux kernel uses a section named
    .gnu.linkonce.this_module to store infomation about kernel modules. The
    kernel reads data from this section when loading kernel modules, and
    errors if it fails to find this section. The current behavior of lld
    discards this section when kernel modules are linked, so kernel modules
    linked with lld are unloadable by the linux kernel.
    
    The Linux kernel should use a comdat section instead of .gnu.linkonce.
    The minimum version of binutils supported by the kernel supports comdat
    sections. The kernel is also not relying on the old linkonce behavior;
    it seems to have chosen a name that contains a deprecated GNU feature.
    
    Changing the section name now in the kernel would require all kernel
    modules to be recompiled to make use of the new section name. Instead,
    rather than discarding .gnu.linkonce.*, let's discard the more specific
    section name to continue working around the glibc issue while supporting
    linking Linux kernel modules.
    
    Link: ClangBuiltLinux/linux#329
    
    Reviewers: pcc, espindola
    
    Reviewed By: pcc
    
    Subscribers: nathanchance, emaste, arichardson, void, srhines
    
    Differential Revision: https://reviews.llvm.org/D57294
    ------------------------------------------------------------------------
    
    llvm-svn: 352355
    zmodem committed Jan 28, 2019
    Configuration menu
    Copy the full SHA
    8f1376f View commit details
    Browse the repository at this point in the history
  4. Merging r352323:

    Redirecting to URL 'https://llvm.org/svn/llvm-project/cfe/trunk':
    ------------------------------------------------------------------------
    r352323 | rakete1111 | 2019-01-27 20:19:59 +0100 (Sun, 27 Jan 2019) | 31 lines
    
    [SemaCXX] Fix ICE with structure bindings to members of template
    
    Summary:
    Trying to use structure binding with a structure that doesn't implement
    std::tuple_size, should unpack the data members. When the struct is a
    template though, clang might hit an assertion (if the type has not been
    completed before), because CXXRecordDecl::DefinitionData is nullptr.
    
    This commit fixes the problem by completing the type while trying to
    decompose the structured binding.
    
    The ICE happens in real world code, for example, when trying to iterate
    a protobuf generated map with a range-based for loop and structure
    bindings (because google::protobuf::MapPair is a template and doesn't
    support std::tuple_size).
    
    Reported-by: nicholas.sun@nlsun.com
    
    Patch by Daniele Di Proietto
    
    Reviewers: #clang, rsmith
    
    Reviewed By: #clang, rsmith
    
    Subscribers: cpplearner, Rakete1111, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D56974
    
    
    ------------------------------------------------------------------------
    
    llvm-svn: 352356
    zmodem committed Jan 28, 2019
    Configuration menu
    Copy the full SHA
    f86097d View commit details
    Browse the repository at this point in the history
  5. Merging r352099:

    Redirecting to URL 'https://llvm.org/svn/llvm-project/cfe/trunk':
    ------------------------------------------------------------------------
    r352099 | djg | 2019-01-24 21:31:11 +0100 (Thu, 24 Jan 2019) | 7 lines
    
    [WebAssembly] Factor commonality between wasm32 and wasm64 in test/Preprocessor/init.c
    
    Use the -check-prefixes= feature to merge most of the WEBASSEMBLY32 and
    WEBASSEMBLY64 test checks into a shared WEBASSEMBLY test check.
    
    Differential Revision: https://reviews.llvm.org/D57153
    
    ------------------------------------------------------------------------
    
    llvm-svn: 352359
    zmodem committed Jan 28, 2019
    Configuration menu
    Copy the full SHA
    246bce4 View commit details
    Browse the repository at this point in the history
  6. Merging r352105:

    Redirecting to URL 'https://llvm.org/svn/llvm-project/cfe/trunk':
    ------------------------------------------------------------------------
    r352105 | djg | 2019-01-24 22:05:11 +0100 (Thu, 24 Jan 2019) | 7 lines
    
    [WebAssembly] Add a __wasi__ target macro
    
    This adds a `__wasi__` macro for the wasi OS, similar to `__linux__` etc. for
    other OS's.
    
    Differential Revision: https://reviews.llvm.org/D57155
    
    ------------------------------------------------------------------------
    
    llvm-svn: 352360
    zmodem committed Jan 28, 2019
    Configuration menu
    Copy the full SHA
    b73d705 View commit details
    Browse the repository at this point in the history
  7. Merging r352221 and r352222:

    ------------------------------------------------------------------------
    r352221 | erichkeane | 2019-01-25 18:27:57 +0100 (Fri, 25 Jan 2019) | 12 lines
    
    Disable _Float16 for non ARM/SPIR Targets
    
    As Discussed here:
    http://lists.llvm.org/pipermail/llvm-dev/2019-January/129543.html
    
    There are problems exposing the _Float16 type on architectures that
    haven't defined the ABI/ISel for the type yet, so we're temporarily
    disabling the type and making it opt-in.
    
    Differential Revision: https://reviews.llvm.org/D57188
    
    Change-Id: I5db7366dedf1deb9485adb8948b1deb7e612a736
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r352222 | erichkeane | 2019-01-25 18:39:57 +0100 (Fri, 25 Jan 2019) | 3 lines
    
    Fix incorrect indent from r352221
    
    Change-Id: I0a7b1443eb6912ef7bea1a4cf2f696fc01726557
    ------------------------------------------------------------------------
    
    llvm-svn: 352363
    zmodem committed Jan 28, 2019
    Configuration menu
    Copy the full SHA
    1680cb5 View commit details
    Browse the repository at this point in the history
  8. Merging r352229:

    Redirecting to URL 'https://llvm.org/svn/llvm-project/cfe/trunk':
    ------------------------------------------------------------------------
    r352229 | erichkeane | 2019-01-25 19:36:20 +0100 (Fri, 25 Jan 2019) | 7 lines
    
    Remove F16 literal support based on Float16 support.
    
    Float16 support was disabled recently on many platforms, however that
    commit still allowed literals of Float16 type to work.  This commit
    removes those based on the same logic as Float16 disable.
    
    Change-Id: I72243048ae2db3dc47bd3d699843e3edf9c395ea
    ------------------------------------------------------------------------
    
    llvm-svn: 352365
    zmodem committed Jan 28, 2019
    Configuration menu
    Copy the full SHA
    accabdd View commit details
    Browse the repository at this point in the history
  9. Merging r352231:

    Redirecting to URL 'https://llvm.org/svn/llvm-project/clang-tools-extra/trunk':
    ------------------------------------------------------------------------
    r352231 | jonastoth | 2019-01-25 20:05:12 +0100 (Fri, 25 Jan 2019) | 13 lines
    
    [clang-tidy] fix unit tests for dropped _Float16 support in X86
    
    Summary:
    Because _Float16 was disabled for X86 targets the unit-tests started failing.
    Extract the pieces for _Float16 and run theses tests under AArch64.
    
    Reviewers: aaron.ballman, erichkeane, lebedev.ri
    
    Reviewed By: erichkeane
    
    Subscribers: javed.absar, xazax.hun, kristof.beyls, cfe-commits
    
    Differential Revision: https://reviews.llvm.org/D57249
    ------------------------------------------------------------------------
    
    llvm-svn: 352368
    zmodem committed Jan 28, 2019
    Configuration menu
    Copy the full SHA
    d1ba949 View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2019

  1. Merging r352413:

    ------------------------------------------------------------------------
    r352413 | pcc | 2019-01-28 20:29:41 +0100 (Mon, 28 Jan 2019) | 8 lines
    
    ELF: Set sh_info on RelaIplt to point to the IgotPlt output section.
    
    Previously we were setting it to the GotPlt output section, which is
    incorrect on ARM where this section is in .got. In static binaries
    this can lead to sh_info being set to -1 (because there is no .got.plt)
    which results in various tools rejecting the output file.
    
    Differential Revision: https://reviews.llvm.org/D57274
    ------------------------------------------------------------------------
    
    llvm-svn: 352489
    zmodem committed Jan 29, 2019
    Configuration menu
    Copy the full SHA
    be5f5b3 View commit details
    Browse the repository at this point in the history
  2. Merging r352381:

    ------------------------------------------------------------------------
    r352381 | stefan.graenitz | 2019-01-28 17:14:57 +0100 (Mon, 28 Jan 2019) | 5 lines
    
    [CMake] Quick-Fix FileCheck target does not exist when building against LLVM install-tree with COMPILER_RT_INCLUDE_TESTS=ON
    
    The issue came up during release testing for LLVM 8: https://bugs.llvm.org/show_bug.cgi?id=40443
    
    Differential Revision: https://reviews.llvm.org/D57224
    ------------------------------------------------------------------------
    
    llvm-svn: 352490
    zmodem committed Jan 29, 2019
    Configuration menu
    Copy the full SHA
    53ba53b View commit details
    Browse the repository at this point in the history
  3. Merging r352382:

    ------------------------------------------------------------------------
    r352382 | stefan.graenitz | 2019-01-28 17:15:27 +0100 (Mon, 28 Jan 2019) | 5 lines
    
    [CMake] Quick-Fix targets don't exist when building against LLVM install-tree with LLDB_INCLUDE_TESTS=ON
    
    The issue came up during release testing for LLVM 8: https://bugs.llvm.org/show_bug.cgi?id=40443
    
    Differential Revision: https://reviews.llvm.org/D57233
    ------------------------------------------------------------------------
    
    llvm-svn: 352491
    zmodem committed Jan 29, 2019
    Configuration menu
    Copy the full SHA
    caadceb View commit details
    Browse the repository at this point in the history
  4. Merging r352459:

    ------------------------------------------------------------------------
    r352459 | mstorsjo | 2019-01-29 09:38:48 +0100 (Tue, 29 Jan 2019) | 7 lines
    
    [MinGW] Ignore the --plugin and --plugin-opt option
    
    GCC can use LLD with -fuse-ld=lld for MinGW these days, but by
    default these options are passed to the linker (unless -fno-lto
    is passed to the GCC driver).
    
    Differential Revision: https://reviews.llvm.org/D57304
    ------------------------------------------------------------------------
    
    llvm-svn: 352493
    zmodem committed Jan 29, 2019
    Configuration menu
    Copy the full SHA
    84d97e3 View commit details
    Browse the repository at this point in the history
  5. Merging r352374:

    ------------------------------------------------------------------------
    r352374 | mgorny | 2019-01-28 16:16:03 +0100 (Mon, 28 Jan 2019) | 18 lines
    
    [cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT always
    
    Refactor the get_llvm_lit_path() logic to respect LLVM_EXTERNAL_LIT,
    and require the fallback to be defined explicitly
    as LLVM_DEFAULT_EXTERNAL_LIT. This fixes building libcxx standalone
    after r346888.
    
    The old logic was using LLVM_EXTERNAL_LIT both as user-defined cache
    variable and an optional pre-definition of default value from caller
    (e.g. libcxx). It included a hack to make this work by assigning
    the value back and forth but it was fragile and stopped working
    in libcxx.
    
    The new logic is simpler and more transparent. Default value is
    provided in a separate variable, and used only when user-specified
    variable is empty (i.e. not overriden).
    
    Differential Revision: https://reviews.llvm.org/D57282
    ------------------------------------------------------------------------
    
    llvm-svn: 352495
    zmodem committed Jan 29, 2019
    Configuration menu
    Copy the full SHA
    71b117e View commit details
    Browse the repository at this point in the history
  6. Merging r352374:

    ------------------------------------------------------------------------
    r352374 | mgorny | 2019-01-28 16:16:03 +0100 (Mon, 28 Jan 2019) | 18 lines
    
    [cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT always
    
    Refactor the get_llvm_lit_path() logic to respect LLVM_EXTERNAL_LIT,
    and require the fallback to be defined explicitly
    as LLVM_DEFAULT_EXTERNAL_LIT. This fixes building libcxx standalone
    after r346888.
    
    The old logic was using LLVM_EXTERNAL_LIT both as user-defined cache
    variable and an optional pre-definition of default value from caller
    (e.g. libcxx). It included a hack to make this work by assigning
    the value back and forth but it was fragile and stopped working
    in libcxx.
    
    The new logic is simpler and more transparent. Default value is
    provided in a separate variable, and used only when user-specified
    variable is empty (i.e. not overriden).
    
    Differential Revision: https://reviews.llvm.org/D57282
    ------------------------------------------------------------------------
    
    llvm-svn: 352496
    zmodem committed Jan 29, 2019
    Configuration menu
    Copy the full SHA
    5751c2b View commit details
    Browse the repository at this point in the history
  7. Merging r352374:

    ------------------------------------------------------------------------
    r352374 | mgorny | 2019-01-28 16:16:03 +0100 (Mon, 28 Jan 2019) | 18 lines
    
    [cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT always
    
    Refactor the get_llvm_lit_path() logic to respect LLVM_EXTERNAL_LIT,
    and require the fallback to be defined explicitly
    as LLVM_DEFAULT_EXTERNAL_LIT. This fixes building libcxx standalone
    after r346888.
    
    The old logic was using LLVM_EXTERNAL_LIT both as user-defined cache
    variable and an optional pre-definition of default value from caller
    (e.g. libcxx). It included a hack to make this work by assigning
    the value back and forth but it was fragile and stopped working
    in libcxx.
    
    The new logic is simpler and more transparent. Default value is
    provided in a separate variable, and used only when user-specified
    variable is empty (i.e. not overriden).
    
    Differential Revision: https://reviews.llvm.org/D57282
    ------------------------------------------------------------------------
    
    llvm-svn: 352497
    zmodem committed Jan 29, 2019
    Configuration menu
    Copy the full SHA
    2cc5c39 View commit details
    Browse the repository at this point in the history
  8. Merging r352374:

    ------------------------------------------------------------------------
    r352374 | mgorny | 2019-01-28 16:16:03 +0100 (Mon, 28 Jan 2019) | 18 lines
    
    [cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT always
    
    Refactor the get_llvm_lit_path() logic to respect LLVM_EXTERNAL_LIT,
    and require the fallback to be defined explicitly
    as LLVM_DEFAULT_EXTERNAL_LIT. This fixes building libcxx standalone
    after r346888.
    
    The old logic was using LLVM_EXTERNAL_LIT both as user-defined cache
    variable and an optional pre-definition of default value from caller
    (e.g. libcxx). It included a hack to make this work by assigning
    the value back and forth but it was fragile and stopped working
    in libcxx.
    
    The new logic is simpler and more transparent. Default value is
    provided in a separate variable, and used only when user-specified
    variable is empty (i.e. not overriden).
    
    Differential Revision: https://reviews.llvm.org/D57282
    ------------------------------------------------------------------------
    
    llvm-svn: 352498
    zmodem committed Jan 29, 2019
    Configuration menu
    Copy the full SHA
    c1d99f8 View commit details
    Browse the repository at this point in the history
  9. Merging r351910:

    ------------------------------------------------------------------------
    r351910 | cuviper | 2019-01-23 01:53:22 +0100 (Wed, 23 Jan 2019) | 18 lines
    
    [CodeView] Allow empty types in member functions
    
    Summary:
    `CodeViewDebug::lowerTypeMemberFunction` used to default to a `Void`
    return type if the function's type array was empty. After D54667, it
    started blindly indexing the 0th item for the return type, which fails
    in `getOperand` for empty arrays if assertions are enabled.
    
    This patch restores the `Void` return type for empty type arrays, and
    adds a test generated by Rust in line-only debuginfo mode.
    
    Reviewers: zturner, rnk
    
    Reviewed By: rnk
    
    Subscribers: hiraditya, JDevlieghere, llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D57070
    ------------------------------------------------------------------------
    
    llvm-svn: 352546
    zmodem committed Jan 29, 2019
    Configuration menu
    Copy the full SHA
    f103e43 View commit details
    Browse the repository at this point in the history
  10. Merging r352539:

    ------------------------------------------------------------------------
    r352539 | arsenm | 2019-01-29 21:49:47 +0100 (Tue, 29 Jan 2019) | 9 lines
    
    Revert "OpenCL: Extend argument promotion rules to vector types"
    
    This reverts r348083. This was based on a misreading of the spec
    for printf specifiers.
    
    Also revert r343653, as without a subsequent patch, a correctly
    specified format for a vector will incorrectly warn.
    
    Fixes bug 40491.
    ------------------------------------------------------------------------
    
    llvm-svn: 352547
    zmodem committed Jan 29, 2019
    Configuration menu
    Copy the full SHA
    3c554e2 View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2019

  1. Merging r352610:

    ------------------------------------------------------------------------
    r352610 | mgorny | 2019-01-30 09:20:24 +0100 (Wed, 30 Jan 2019) | 9 lines
    
    [clang] [Driver] [NetBSD] Append -rpath for shared compiler-rt runtimes
    
    Append appropriate -rpath when using shared compiler-rt runtimes,
    e.g. '-fsanitize=address -shared-libasan'.  There's already a similar
    logic in CommonArgs.cpp but it uses non-standard arch-suffixed
    installation directory while we want our driver to work with standard
    installation paths.
    
    Differential Revision: https://reviews.llvm.org/D57303
    ------------------------------------------------------------------------
    
    llvm-svn: 352650
    zmodem committed Jan 30, 2019
    Configuration menu
    Copy the full SHA
    88481d5 View commit details
    Browse the repository at this point in the history
  2. [docs][mips] Add MIPS specific release notes for LLD 8.0

    Differential Revision: http://reviews.llvm.org/D57459
    
    llvm-svn: 352674
    atanasyan committed Jan 30, 2019
    Configuration menu
    Copy the full SHA
    dbbe633 View commit details
    Browse the repository at this point in the history
  3. [docs][mips] Clang 8.0 Release notes

    MIPS specific part of Clang 8.0 Release notes. Feel free to add more
    notes if I miss something.
    
    Differential Revision: http://reviews.llvm.org/D57458
    
    llvm-svn: 352675
    atanasyan committed Jan 30, 2019
    Configuration menu
    Copy the full SHA
    dfc033d View commit details
    Browse the repository at this point in the history
  4. [docs][mips] 8.0 Release notes

    MIPS specific part of LLVM 8.0 Release notes.
    
    Differential Revision: http://reviews.llvm.org/D57457
    
    llvm-svn: 352682
    atanasyan committed Jan 30, 2019
    Configuration menu
    Copy the full SHA
    8a11e14 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2019

  1. Merging r352407:

    ------------------------------------------------------------------------
    r352407 | ruiu | 2019-01-28 20:11:52 +0100 (Mon, 28 Jan 2019) | 1 line
    
    Refactoring. NFC.
    ------------------------------------------------------------------------
    
    llvm-svn: 352850
    zmodem committed Feb 1, 2019
    Configuration menu
    Copy the full SHA
    6dcd982 View commit details
    Browse the repository at this point in the history
  2. Merging r352435:

    ------------------------------------------------------------------------
    r352435 | ruiu | 2019-01-28 22:45:50 +0100 (Mon, 28 Jan 2019) | 1 line
    
    Attempt to fix build failure with GCC 5.4.
    ------------------------------------------------------------------------
    
    llvm-svn: 352851
    zmodem committed Feb 1, 2019
    Configuration menu
    Copy the full SHA
    9f0ae69 View commit details
    Browse the repository at this point in the history
  3. Merging r352482:

    ------------------------------------------------------------------------
    r352482 | grimar | 2019-01-29 12:46:00 +0100 (Tue, 29 Jan 2019) | 3 lines
    
    [ELF] - Remove dead `readBfdName` declaration. NFC.
    
    `readBfdName` was removed recently.
    ------------------------------------------------------------------------
    
    llvm-svn: 352852
    zmodem committed Feb 1, 2019
    Configuration menu
    Copy the full SHA
    15decd1 View commit details
    Browse the repository at this point in the history
  4. Merging r352606:

    ------------------------------------------------------------------------
    r352606 | dim | 2019-01-30 07:31:52 +0100 (Wed, 30 Jan 2019) | 27 lines
    
    Recognize FreeBSD specific BFD names in OUTPUT_FORMAT
    
    Summary:
    After rLLD344952 ("Add OUTPUT_FORMAT linker script directive support"),
    using BFD names such as `elf64-x86-64-freebsd` the `OUTPUT_FORMAT`
    linker script command does not work anymore, resulting in errors like:
    
    ```
    ld: error: /home/dim/src/clang800-import/stand/efi/loader/arch/amd64/ldscript.amd64:2: unknown output format name: elf64-x86-64-freebsd
    >>> OUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd")
    >>>               ^
    ```
    
    To fix this, recognize a `-freebsd` suffix in BFD names, and also set
    `Configuration::OSABI` to `ELFOSABI_FREEBSD` for those cases.
    
    Add and/or update several test cases to check for the correct results of
    these new `OUTPUT_FORMAT` arguments.
    
    Reviewers: ruiu, atanasyan, grimar, hokein, emaste, espindola
    
    Reviewed By: ruiu
    
    Subscribers: nemanjai, javed.absar, arichardson, krytarowski, kristof.beyls, kbarton, llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D57283
    
    ------------------------------------------------------------------------
    
    llvm-svn: 352853
    zmodem committed Feb 1, 2019
    Configuration menu
    Copy the full SHA
    538ee73 View commit details
    Browse the repository at this point in the history
  5. Merging r352672:

    ------------------------------------------------------------------------
    r352672 | epilk | 2019-01-30 22:14:08 +0100 (Wed, 30 Jan 2019) | 4 lines
    
    Don't define __has_feature(objc_fixed_enum) in non-objc mode
    
    This is only a formal language feature in ObjC, otherwise its just an
    extension. Making this change was also an ABI break.
    ------------------------------------------------------------------------
    
    llvm-svn: 352854
    zmodem committed Feb 1, 2019
    Configuration menu
    Copy the full SHA
    2a08347 View commit details
    Browse the repository at this point in the history
  6. Merging r352822:

    ------------------------------------------------------------------------
    r352822 | ahatanak | 2019-02-01 01:12:06 +0100 (Fri, 01 Feb 2019) | 8 lines
    
    Revert "[Sema] Make canPassInRegisters return true if the CXXRecordDecl passed"
    
    This reverts commit r350920 as it is not clear whether we should force a
    class to be returned in registers when copy and move constructors are
    both deleted.
    
    For more background, see the following discussion:
    http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20190128/259907.html
    ------------------------------------------------------------------------
    
    llvm-svn: 352855
    zmodem committed Feb 1, 2019
    Configuration menu
    Copy the full SHA
    e26a2f2 View commit details
    Browse the repository at this point in the history
  7. Merging r352770:

    ------------------------------------------------------------------------
    r352770 | tejohnson | 2019-01-31 18:18:11 +0100 (Thu, 31 Jan 2019) | 3 lines
    
    Recommit "[ThinLTO] Rename COMDATs for COFF when promoting/renaming COMDAT leader"
    
    Recommit of r352763 with fix for use after free.
    ------------------------------------------------------------------------
    
    llvm-svn: 352856
    zmodem committed Feb 1, 2019
    Configuration menu
    Copy the full SHA
    d4c2ff4 View commit details
    Browse the repository at this point in the history
  8. Merging r352156:

    ------------------------------------------------------------------------
    r352156 | phosek | 2019-01-25 03:42:30 +0100 (Fri, 25 Jan 2019) | 12 lines
    
    [AArch64] Make the test for rsr and rsr64 stricter
    
    ACLE specifies that return type for rsr and rsr64 is uint32_t and
    uint64_t respectively. D56852 change the return type of rsr64 from
    unsigned long to unsigned long long which at least on Linux doesn't
    match uint64_t, but the test isn't strict enough to detect that
    because compiler implicitly converts unsigned long long to uint64_t,
    but it breaks other uses such as printf with PRIx64 type specifier.
    This change makes the test stricter enforcing that the return type
    of rsr and rsr64 builtins is what is actually specified in ACLE.
    
    Differential Revision: https://reviews.llvm.org/D57210
    ------------------------------------------------------------------------
    
    llvm-svn: 352859
    zmodem committed Feb 1, 2019
    Configuration menu
    Copy the full SHA
    c081a5f View commit details
    Browse the repository at this point in the history
  9. Merging r352463:

    ------------------------------------------------------------------------
    r352463 | sam_parker | 2019-01-29 10:04:03 +0100 (Tue, 29 Jan 2019) | 6 lines
    
    [AArch64] Update int64_t ACLE builtin arguments
        
    Re-applying r351740 with fixes (changing LL to W).
    
    Differential Revision: https://reviews.llvm.org/D56852
    
    ------------------------------------------------------------------------
    
    llvm-svn: 352860
    zmodem committed Feb 1, 2019
    Configuration menu
    Copy the full SHA
    f66fbcf View commit details
    Browse the repository at this point in the history
  10. Merging r352246:

    ------------------------------------------------------------------------
    r352246 | mtrofin | 2019-01-25 22:49:54 +0100 (Fri, 25 Jan 2019) | 23 lines
    
    [llvm] Opt-in flag for X86DiscriminateMemOps
    
    Summary:
    Currently, if an instruction with a memory operand has no debug information,
    X86DiscriminateMemOps will generate one based on the first line of the
    enclosing function, or the last seen debug info.
    
    This may cause confusion in certain debugging scenarios. The long term
    approach would be to use the line number '0' in such cases, however, that
    brings in challenges: the base discriminator value range is limited
    (4096 values).
    
    For the short term, adding an opt-in flag for this feature.
    
    See bug 40319 (https://bugs.llvm.org/show_bug.cgi?id=40319)
    
    Reviewers: dblaikie, jmorse, gbedwell
    
    Reviewed By: dblaikie
    
    Subscribers: aprantl, eraman, hiraditya
    
    Differential Revision: https://reviews.llvm.org/D57257
    ------------------------------------------------------------------------
    
    llvm-svn: 352867
    zmodem committed Feb 1, 2019
    Configuration menu
    Copy the full SHA
    61ff0b6 View commit details
    Browse the repository at this point in the history
  11. [Hexagon] Update release notes with the changes to the Hexagon backend

    llvm-svn: 352915
    Krzysztof Parzyszek committed Feb 1, 2019
    Configuration menu
    Copy the full SHA
    b96362f View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2019

  1. Release Notes: Add Zig to External Open Source Projects Using LLVM 8

    Zig has all tests passing in the llvm8 branch with rc1.
    Zig 0.4.0 is scheduled to be released 1 week after LLVM 8.0.0,
    and it will depend on LLVM 8.
    
    Patch by Andrew Kelley!
    
    Differential revision: https://reviews.llvm.org/D57586
    
    llvm-svn: 353019
    zmodem committed Feb 4, 2019
    Configuration menu
    Copy the full SHA
    36e9afb View commit details
    Browse the repository at this point in the history
  2. Merging r352889:

    ------------------------------------------------------------------------
    r352889 | wolfgangp | 2019-02-01 18:11:58 +0100 (Fri, 01 Feb 2019) | 6 lines
    
    [DWARF v5] Fix DWARF emitter and consumer to produce/expect a uleb for a location description's length.
    
    Reviewer: davide, JDevliegere
    
    Differential Revision: https://reviews.llvm.org/D57550
    
    ------------------------------------------------------------------------
    
    llvm-svn: 353029
    zmodem committed Feb 4, 2019
    Configuration menu
    Copy the full SHA
    8cc77b4 View commit details
    Browse the repository at this point in the history
  3. Merging r352307:

    ------------------------------------------------------------------------
    r352307 | void | 2019-01-27 08:24:03 +0100 (Sun, 27 Jan 2019) | 11 lines
    
    Remove Expr sugar decorating the CXXUuidofExpr node.
    
    Summary: Sugar, like ConstantExpr, causes an infinite expansion of the template object.
    
    Reviewers: rsmith, aaron.ballman
    
    Reviewed By: aaron.ballman
    
    Subscribers: riccibruno, aaron.ballman, cfe-commits, tzik, rnk
    
    Differential Revision: https://reviews.llvm.org/D57114
    ------------------------------------------------------------------------
    
    llvm-svn: 353031
    zmodem committed Feb 4, 2019
    Configuration menu
    Copy the full SHA
    44c7930 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2019

  1. Merging r352928:

    ------------------------------------------------------------------------
    r352928 | mstorsjo | 2019-02-01 23:08:03 +0100 (Fri, 01 Feb 2019) | 9 lines
    
    [COFF] Fix crashes when writing a PDB after adding thunks.
    
    When writing a PDB, the OutputSection of all chunks need to be set.
    The thunks are added directly to OutputSection after the normal
    machinery that sets it for all other chunks.
    
    This fixes part of PR40467.
    
    Differential Revision: https://reviews.llvm.org/D57574
    ------------------------------------------------------------------------
    
    llvm-svn: 353157
    zmodem committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    ca26c44 View commit details
    Browse the repository at this point in the history
  2. Merging r352929:

    ------------------------------------------------------------------------
    r352929 | mstorsjo | 2019-02-01 23:08:09 +0100 (Fri, 01 Feb 2019) | 11 lines
    
    [COFF] Create range extension thunks for ARM64
    
    On ARM64, this is normally necessary only after a module exceeds
    128 MB in size (while the limit for thumb is 16 MB). For conditional
    branches, the range limit is only 1 MB though (the same as for thumb),
    and for the tbz instruction, the range is only 32 KB, which allows for
    a test much smaller than the full 128 MB.
    
    This fixes PR40467.
    
    Differential Revision: https://reviews.llvm.org/D57575
    ------------------------------------------------------------------------
    
    llvm-svn: 353158
    zmodem committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    9c110d5 View commit details
    Browse the repository at this point in the history
  3. Merging r352945:

    ------------------------------------------------------------------------
    r352945 | mgrang | 2019-02-02 02:32:48 +0100 (Sat, 02 Feb 2019) | 13 lines
    
    [AutoUpgrade] Fix AutoUpgrade for x86.seh.recoverfp
    
    Summary: This fixes the bug in https://reviews.llvm.org/D56747#inline-502711.
    
    Reviewers: efriedma
    
    Reviewed By: efriedma
    
    Subscribers: javed.absar, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D57614
    ------------------------------------------------------------------------
    
    llvm-svn: 353159
    zmodem committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    f7f9945 View commit details
    Browse the repository at this point in the history
  4. Merging r353082:

    ------------------------------------------------------------------------
    r353082 | meinersbur | 2019-02-04 20:55:59 +0100 (Mon, 04 Feb 2019) | 10 lines
    
    [WarnMissedTransforms] Do not warn about already vectorized loops.
    
    LoopVectorize adds llvm.loop.isvectorized, but leaves
    llvm.loop.vectorize.enable. Do not consider such a loop for user-forced
    vectorization since vectorization already happened -- by prioritizing
    llvm.loop.isvectorized except for TM_SuppressedByUser.
    
    Fixes http://llvm.org/PR40546
    
    Differential Revision: https://reviews.llvm.org/D57542
    ------------------------------------------------------------------------
    
    llvm-svn: 353166
    zmodem committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    a10d2d2 View commit details
    Browse the repository at this point in the history
  5. Merging r352555:

    ------------------------------------------------------------------------
    r352555 | asbirlea | 2019-01-29 23:33:20 +0100 (Tue, 29 Jan 2019) | 12 lines
    
    Check bool attribute value in getOptionalBoolLoopAttribute.
    
    Summary:
    Check the bool value of the attribute in getOptionalBoolLoopAttribute
    not just its existance.
    Eliminates the warning noise generated when vectorization is explicitly disabled.
    
    Reviewers: Meinersbur, hfinkel, dmgreen
    
    Subscribers: jlebar, sanjoy, llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D57260
    ------------------------------------------------------------------------
    
    llvm-svn: 353167
    zmodem committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    a9a9c27 View commit details
    Browse the repository at this point in the history
  6. Merging rr353218:

    ------------------------------------------------------------------------
    r353218 | rnk | 2019-02-05 13:14:09 -0800 (Tue, 05 Feb 2019) | 19 lines
    
    [MC] Don't error on numberless .file directives on MachO
    
    Summary:
    Before r349976, MC ignored such directives when producing an object file
    and asserted when re-producing textual assembly output. I turned this
    assertion into a hard error in both cases in r349976, but this makes it
    unnecessarily difficult to write a single assembly file that supports
    both MachO and other object formats that support .file. A user reported
    this as PR40578, and we decided to go back to ignoring the directive.
    
    Fixes PR40578
    
    Reviewers: mstorsjo
    
    Subscribers: hiraditya, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D57772
    ------------------------------------------------------------------------
    
    llvm-svn: 353220
    rnk committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    30ce79e View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2019

  1. Merging r353155:

    ------------------------------------------------------------------------
    r353155 | hans | 2019-02-05 12:01:54 +0100 (Tue, 05 Feb 2019) | 11 lines
    
    Fix format string in bindings/go/llvm/ir_test.go (PR40561)
    
    The test started failing for me recently. I don't see any changes around
    this code, so maybe it's my local go version that changed or something.
    
    The error seems real to me: we're trying to print an Attribute with %d.
    The test talks about "attribute masks" I'm not sure what that refers to,
    but I suppose we could print the raw pointer value, since that's
    what the test seems to be comparing.
    
    Differential revision: https://reviews.llvm.org/D57672
    ------------------------------------------------------------------------
    
    llvm-svn: 353279
    zmodem committed Feb 6, 2019
    Configuration menu
    Copy the full SHA
    35f4f2f View commit details
    Browse the repository at this point in the history
  2. Merging r352016:

    ------------------------------------------------------------------------
    r352016 | phosek | 2019-01-24 04:04:42 +0100 (Thu, 24 Jan 2019) | 12 lines
    
    [libunwind] Don't abort if encoutering invalid .eh_frame_hdr
    
    Recent Linux kernel release has introduced a bug as part of the ORC
    rollout where the vDSO has a valid .eh_frame section, but it's missing
    the .eh_frame_hdr section and GNU_EH_FRAME segment has zero size. This
    causes libunwind to abort which breaks programs that use libunwind.
    
    The other unwinder implementation (libgcc, non-gnu) instead silently
    bail out unless being compiled as debug. This change modifies libunwind
    to use the same strategy.
    
    Differential Revision: https://reviews.llvm.org/D57081
    ------------------------------------------------------------------------
    
    llvm-svn: 353287
    zmodem committed Feb 6, 2019
    Configuration menu
    Copy the full SHA
    5581990 View commit details
    Browse the repository at this point in the history
  3. Merging r353224:

    ------------------------------------------------------------------------
    r353224 | kamil | 2019-02-05 23:20:25 +0100 (Tue, 05 Feb 2019) | 2 lines
    
    Update the ioctl(2) list in sanitizers with NetBSD 8.99.34
    
    ------------------------------------------------------------------------
    
    llvm-svn: 353292
    zmodem committed Feb 6, 2019
    Configuration menu
    Copy the full SHA
    a2f4603 View commit details
    Browse the repository at this point in the history
  4. Merging r353250:

    ------------------------------------------------------------------------
    r353250 | zturner | 2019-02-06 01:50:35 +0100 (Wed, 06 Feb 2019) | 24 lines
    
    [PDB] Remove dots and normalize slashes with /PDBSOURCEPATH.
    
    In a previous patch, I made changes so that PDBs which were
    generated on non-Windows platforms contained sensical paths
    for the host.  While this is an esoteric use case, we need
    it to be supported for certain cross compilation scenarios
    especially with LLDB, which can debug things on non-Windows
    platforms.
    
    However, this regressed a case where you specify /PDBSOURCEPATH
    and use a windows-style path.  Previously, we would still remove
    dots and canonicalize slashes to backslashes, but since my
    change intentionally tried to support non-backslash paths, this
    was broken.
    
    This patch fixes the situation by trying to guess which path
    style the user is specifying when /PDBSOURCEPATH is passed.
    It is intentionally conservative, erring on the side of a
    Windows path style unless absolutely certain.  All dots are
    removed and slashes canonicalized to whatever the deduced
    path style is after appending the file path to the /PDBSOURCEPATH
    argument.
    
    Differential Revision: https://reviews.llvm.org/D57769
    ------------------------------------------------------------------------
    
    llvm-svn: 353300
    zmodem committed Feb 6, 2019
    Configuration menu
    Copy the full SHA
    7ec84db View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2019

  1. Merging r353304:

    ------------------------------------------------------------------------
    r353304 | uweigand | 2019-02-06 16:10:13 +0100 (Wed, 06 Feb 2019) | 18 lines
    
    [SystemZ] Do not return INT_MIN from strcmp/memcmp
    
    The IPM sequence currently generated to compute the strcmp/memcmp
    result will return INT_MIN for the "less than zero" case.  While
    this is in compliance with the standard, strictly speaking, it
    turns out that common applications cannot handle this, e.g. because
    they negate a comparison result in order to implement reverse
    compares.
    
    This patch changes code to use a different sequence that will result
    in -2 for the "less than zero" case (same as GCC).  However, this
    requires that the two source operands of the compare instructions
    are inverted, which breaks the optimization in removeIPMBasedCompare.
    Therefore, I've removed this (and all of optimizeCompareInstr), and
    replaced it with a mostly equivalent optimization in combineCCMask
    at the DAGcombine level.
    
    
    ------------------------------------------------------------------------
    
    llvm-svn: 353379
    zmodem committed Feb 7, 2019
    Configuration menu
    Copy the full SHA
    f582206 View commit details
    Browse the repository at this point in the history
  2. lld-link: Add some entries to the 8.0 release notes

    By Nico Weber!
    
    Differential revision: https://reviews.llvm.org/D57818
    
    llvm-svn: 353387
    zmodem committed Feb 7, 2019
    Configuration menu
    Copy the full SHA
    238045f View commit details
    Browse the repository at this point in the history
  3. Merging r353367:

    ------------------------------------------------------------------------
    r353367 | brad | 2019-02-07 03:06:58 +0100 (Thu, 07 Feb 2019) | 2 lines
    
    Add OpenBSD support to be able to get the thread name
    
    ------------------------------------------------------------------------
    
    llvm-svn: 353388
    zmodem committed Feb 7, 2019
    Configuration menu
    Copy the full SHA
    33fc712 View commit details
    Browse the repository at this point in the history
  4. Merging r353327:

    ------------------------------------------------------------------------
    r353327 | lebedevri | 2019-02-06 20:17:30 +0100 (Wed, 06 Feb 2019) | 18 lines
    
    [clang-tidy] modernize-avoid-c-arrays: avoid main function (PR40604)
    
    Summary:
    The check should ignore the main function, the program entry point.
    It is not possible to use `std::array<>` for the `argv`.
    The alternative is to use `char** argv`.
    
    Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=40604 | PR40604 ]]
    
    Reviewers: JonasToth, aaron.ballman
    
    Reviewed By: aaron.ballman
    
    Subscribers: xazax.hun, hans, cfe-commits
    
    Tags: #clang-tools-extra, #clang
    
    Differential Revision: https://reviews.llvm.org/D57787
    ------------------------------------------------------------------------
    
    llvm-svn: 353391
    zmodem committed Feb 7, 2019
    Configuration menu
    Copy the full SHA
    7399f70 View commit details
    Browse the repository at this point in the history
  5. Merging r353393:

    ------------------------------------------------------------------------
    r353393 | hans | 2019-02-07 12:13:28 +0100 (Thu, 07 Feb 2019) | 1 line
    
    Typo: s/follwing/following
    ------------------------------------------------------------------------
    
    llvm-svn: 353394
    zmodem committed Feb 7, 2019
    Configuration menu
    Copy the full SHA
    104c654 View commit details
    Browse the repository at this point in the history
  6. Re-generate docs/ClangCommandLineReference.rst

    $ bin/clang-tblgen -gen-opt-docs -I../cfe.src/include
        -I../cfe.src/include/clang/Driver -I../llvm.src/include
        ../cfe.src/include/clang/Driver/ClangOptionDocs.td -o
        ../cfe.src/docs/ClangCommandLineReference.rst
    
    llvm-svn: 353395
    zmodem committed Feb 7, 2019
    Configuration menu
    Copy the full SHA
    8c33d4f View commit details
    Browse the repository at this point in the history
  7. Generate docs/AttributeReference.rst

    $ bin/clang-tblgen -gen-attr-docs -I../cfe.src/include
        ../cfe.src/include/clang/Basic/Attr.td -o
        ../cfe.src/docs/AttributeReference.rst
    
    llvm-svn: 353396
    zmodem committed Feb 7, 2019
    Configuration menu
    Copy the full SHA
    cb2d048 View commit details
    Browse the repository at this point in the history
  8. [docs] Update the release notes for the backported feature with thunk…

    …s for ARM64
    
    llvm-svn: 353397
    mstorsjo committed Feb 7, 2019
    Configuration menu
    Copy the full SHA
    829bb6f View commit details
    Browse the repository at this point in the history
  9. Fix sphinx warning

    llvm-svn: 353398
    zmodem committed Feb 7, 2019
    Configuration menu
    Copy the full SHA
    ac29b65 View commit details
    Browse the repository at this point in the history
  10. Merging r353399:

    ------------------------------------------------------------------------
    r353399 | hans | 2019-02-07 13:39:35 +0100 (Thu, 07 Feb 2019) | 1 line
    
    docs: add missingkeyfunction to doctree, fix title
    ------------------------------------------------------------------------
    
    llvm-svn: 353400
    zmodem committed Feb 7, 2019
    Configuration menu
    Copy the full SHA
    98ebe74 View commit details
    Browse the repository at this point in the history
  11. Add external project LDC to release notes.

    LDC, the LLVM-based D compiler, is already ready for LLVM 8.0.0.
    
    llvm-svn: 353466
    redstar committed Feb 7, 2019
    Configuration menu
    Copy the full SHA
    2699311 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2019

  1. Merging r351387, r351765, and r353374:

    ------------------------------------------------------------------------
    r351387 | jfb | 2019-01-16 23:22:38 +0100 (Wed, 16 Jan 2019) | 7 lines
    
    [NFC] Factor out + document build requirements
    
    Summary: This change factors out compiler checking / warning, and documents LLVM_FORCE_USE_OLD_TOOLCHAIN. It doesn't introduce any functional changes nor policy changes, these will come late.
    
    Subscribers: mgorny, jkorous, dexonsmith, llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D56799
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r351765 | jfb | 2019-01-22 00:53:52 +0100 (Tue, 22 Jan 2019) | 24 lines
    
    Document toolchain update policy
    
    Summary:
    Capture the current agreed-upon toolchain update policy based on the following
    discussions:
    
      - LLVM dev meeting 2018 BoF "Migrating to C++14, and beyond!"
        llvm.org/devmtg/2018-10/talk-abstracts.html#bof3
      - A Short Policy Proposal Regarding Host Compilers
        lists.llvm.org/pipermail/llvm-dev/2018-May/123238.html
      - Using C++14 code in LLVM (2018)
        lists.llvm.org/pipermail/llvm-dev/2018-May/123182.html
      - Using C++14 code in LLVM (2017)
        lists.llvm.org/pipermail/llvm-dev/2017-October/118673.html
      - Using C++14 code in LLVM (2016)
        lists.llvm.org/pipermail/llvm-dev/2016-October/105483.html
      - Document and Enforce new Host Compiler Policy
        llvm.org/D47073
      - Require GCC 5.1 and LLVM 3.5 at a minimum
        llvm.org/D46723
    
    Subscribers: jkorous, dexonsmith, llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D56819
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353374 | jfb | 2019-02-07 06:20:00 +0100 (Thu, 07 Feb 2019) | 12 lines
    
    Bump minimum toolchain version
    
    Summary:
    The RFC on moving past C++11 got good traction:
      http://lists.llvm.org/pipermail/llvm-dev/2019-January/129452.html
    
    This patch therefore bumps the toolchain versions according to our policy:
      llvm.org/docs/DeveloperPolicy.html#toolchain
    
    Subscribers: mgorny, jkorous, dexonsmith, llvm-commits, mehdi_amini, jyknight, rsmith, chandlerc, smeenai, hans, reames, lattner, lhames, erichkeane
    
    Differential Revision: https://reviews.llvm.org/D57264
    ------------------------------------------------------------------------
    
    llvm-svn: 353512
    zmodem committed Feb 8, 2019
    Configuration menu
    Copy the full SHA
    ce52769 View commit details
    Browse the repository at this point in the history
  2. Merging r353463:

    ------------------------------------------------------------------------
    r353463 | smeenai | 2019-02-07 21:58:04 +0100 (Thu, 07 Feb 2019) | 4 lines
    
    [cmake] Pass LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN to NATIVE configure
    
    We should propagate this down to host builds so that e.g. people using
    an optimized tablegen can do the sub-configure successfully.
    ------------------------------------------------------------------------
    
    llvm-svn: 353517
    zmodem committed Feb 8, 2019
    Configuration menu
    Copy the full SHA
    22558d3 View commit details
    Browse the repository at this point in the history
  3. - Update ReleaseNotes for lld 8.0.0.

    llvm-svn: 353574
    rui314 committed Feb 8, 2019
    Configuration menu
    Copy the full SHA
    15f159c View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2019

  1. Minor update to lld/ReleaseNotes.

    llvm-svn: 353749
    rui314 committed Feb 11, 2019
    Configuration menu
    Copy the full SHA
    62ead03 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2019

  1. Merging r353495:

    ------------------------------------------------------------------------
    r353495 | jfb | 2019-02-08 02:29:17 +0100 (Fri, 08 Feb 2019) | 32 lines
    
    Variable auto-init: fix __block initialization
    
    Summary:
    Automatic initialization [1] of __block variables was trampling over the block's
    headers after they'd been initialized, which caused self-init usage to crash,
    such as here:
    
      typedef struct XYZ { void (^block)(); } *xyz_t;
      __attribute__((noinline))
      xyz_t create(void (^block)()) {
        xyz_t myself = malloc(sizeof(struct XYZ));
        myself->block = block;
        return myself;
      }
      int main() {
        __block xyz_t captured = create(^(){ (void)captured; });
      }
    
    This type of code shouldn't be broken by variable auto-init, even if it's
    sketchy.
    
    [1] With -ftrivial-auto-var-init=pattern
    
    <rdar://problem/47798396>
    
    Reviewers: rjmccall, pcc, kcc
    
    Subscribers: jkorous, dexonsmith, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D57797
    ------------------------------------------------------------------------
    
    llvm-svn: 353807
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    e055d7f View commit details
    Browse the repository at this point in the history
  2. ReleaseNotes about the toolchain version cmake check

    Based on text from JF!
    
    llvm-svn: 353808
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    0cbe0b9 View commit details
    Browse the repository at this point in the history
  3. Merging r353551 and r353809:

    Also removed the text about Clang 9.
    
    ------------------------------------------------------------------------
    r353551 | metzman | 2019-02-08 20:35:04 +0100 (Fri, 08 Feb 2019) | 13 lines
    
    Document libFuzzer on Windows.
    
    Summary:
    Document that libFuzzer supports Windows, how to get it,
    and its limitations.
    
    Reviewers: kcc, morehouse, rnk, metzman
    
    Reviewed By: kcc, rnk, metzman
    
    Subscribers: hans, rnk
    
    Differential Revision: https://reviews.llvm.org/D57597
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353809 | hans | 2019-02-12 10:08:52 +0100 (Tue, 12 Feb 2019) | 1 line
    
    LibFuzzer.rst: double backticks
    ------------------------------------------------------------------------
    
    llvm-svn: 353811
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    75ff7d0 View commit details
    Browse the repository at this point in the history
  4. Merging r352607 r352608 r353015 r353061 r353138 r353141 r353334 r353489

    And re-generate expectations for a test:
    $ utils/update_llc_test_checks.py --llc-binary ../build.release/bin/llc test/CodeGen/X86/x87-schedule.ll
    
    Will also merge cfe r353142 for a clang-side test.
    
    This merge was requested in PR40667.
    
    
    ------------------------------------------------------------------------
    r352607 | ctopper | 2019-01-30 08:08:44 +0100 (Wed, 30 Jan 2019) | 1 line
    
    [X86] Add FPSW as a Def on some FP instructions that were missing it.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r352608 | ctopper | 2019-01-30 08:33:24 +0100 (Wed, 30 Jan 2019) | 5 lines
    
    [X86] Remove a couple places where we unnecessarily pass 0 to the EmitPriority of some FP instruction aliases. NFC
    
    As far as I can tell we already won't emit these aliases due to an operand count check in the tablegen code. Removing these because I couldn't make sense of the inconsistency between fadd and fmul from reading the code.
    
    I checked the AsmMatcher and AsmWriter files before and after this change and there were no differences.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353015 | ctopper | 2019-02-04 05:15:10 +0100 (Mon, 04 Feb 2019) | 3 lines
    
    [X86] Print %st(0) as %st when its implicit to the instruction. Continue printing it as %st(0) when its encoded in the instruction.
    
    This is a step back from the change I made in r352985. This appears to be more consistent with gcc and objdump behavior.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353061 | ctopper | 2019-02-04 18:28:18 +0100 (Mon, 04 Feb 2019) | 5 lines
    
    [X86] Print all register forms of x87 fadd/fsub/fdiv/fmul as having two arguments where on is %st.
    
    All of these instructions consume one encoded register and the other register is %st. They either write the result to %st or the encoded register. Previously we printed both arguments when the encoded register was written. And we printed one argument when the result was written to %st. For the stack popping forms the encoded register is always the destination and we didn't print both operands. This was inconsistent with gcc and objdump and just makes the output assembly code harder to read.
    
    This patch changes things to always print both operands making us consistent with gcc and objdump. The parser should still be able to handle the single register forms just as it did before. This also matches the GNU assembler behavior.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353138 | ctopper | 2019-02-05 05:48:23 +0100 (Tue, 05 Feb 2019) | 1 line
    
    [X86] Add test case from PR40529. NFC
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353141 | ctopper | 2019-02-05 07:13:06 +0100 (Tue, 05 Feb 2019) | 16 lines
    
    [X86] Connect the default fpsr and dirflag clobbers in inline assembly to the registers we have defined for them.
    
    Summary:
    We don't currently map these constraints to physical register numbers so they don't make it to the MachineIR representation of inline assembly.
    
    This could have problems for proper dependency tracking in the machine schedulers though I don't have a test case that shows that.
    
    Reviewers: rnk
    
    Reviewed By: rnk
    
    Subscribers: eraman, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D57641
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353334 | ctopper | 2019-02-06 20:50:59 +0100 (Wed, 06 Feb 2019) | 1 line
    
    [X86] Change the CPU on the test case for pr40529.ll to really show the bug. NFC
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353489 | ctopper | 2019-02-08 01:44:39 +0100 (Fri, 08 Feb 2019) | 14 lines
    
    [X86] Add FPCW as a register and start using it as an implicit use on floating point instructions.
    
    Summary:
    FPCW contains the rounding mode control which we manipulate to implement fp to integer conversion by changing the roudning mode, storing the value to the stack, and then changing the rounding mode back. Because we didn't model FPCW and its dependency chain, other instructions could be scheduled into the middle of the sequence.
    
    This patch introduces the register and adds it as an implciit def of FLDCW and implicit use of the FP binary arithmetic instructions and store instructions. There are more instructions that need to be updated, but this is a good start. I believe this fixes at least the reduced test case from PR40529.
    
    Reviewers: RKSimon, spatel, rnk, efriedma, andrew.w.kaylor
    
    Subscribers: dim, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D57735
    ------------------------------------------------------------------------
    
    llvm-svn: 353818
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    018cd5f View commit details
    Browse the repository at this point in the history
  5. Merging r353142:

    ------------------------------------------------------------------------
    r353142 | ctopper | 2019-02-05 07:13:14 +0100 (Tue, 05 Feb 2019) | 13 lines
    
    [X86] Change MS inline asm clobber list filter to check for 'fpsr' instead of 'fpsw' after D57641.
    
    Summary: The backend used to print the x87 FPSW register as 'fpsw', but gcc inline asm uses 'fpsr'. After D57641, the backend now uses 'fpsr' to match.
    
    Reviewers: rnk
    
    Reviewed By: rnk
    
    Subscribers: eraman, cfe-commits, llvm-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D57642
    ------------------------------------------------------------------------
    
    llvm-svn: 353819
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    e552366 View commit details
    Browse the repository at this point in the history
  6. Merging r353308 and r353383:

    ------------------------------------------------------------------------
    r353308 | tnorthover | 2019-02-06 16:26:35 +0100 (Wed, 06 Feb 2019) | 5 lines
    
    AArch64: enforce even/odd register pairs for CASP instructions.
    
    ARMv8.1a CASP instructions need the first of the pair to be an even register
    (otherwise the encoding is unallocated). We enforced this during assembly, but
    not CodeGen before.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353383 | tnorthover | 2019-02-07 11:35:34 +0100 (Thu, 07 Feb 2019) | 4 lines
    
    AArch64: implement copy for paired GPR registers.
    
    When doing 128-bit atomics using CASP we might need to copy a GPRPair to a
    different register, but that was unimplemented up to now.
    ------------------------------------------------------------------------
    
    llvm-svn: 353822
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    2ccd8c1 View commit details
    Browse the repository at this point in the history
  7. Merging r353411:

    ------------------------------------------------------------------------
    r353411 | erichkeane | 2019-02-07 16:14:11 +0100 (Thu, 07 Feb 2019) | 7 lines
    
    Fix r350643 to limit COFF emission to <= 32 BYTES instead of BITS.
    
    The patch in r350643 incorrectly sets the COFF emission based on bits
    instead of bytes. This patch converts the 32 via CharUnits to bits to
    compare the correct values.
    
    Change-Id: Icf38a16470ad5ae3531374969c033557ddb0d323
    ------------------------------------------------------------------------
    
    llvm-svn: 353825
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    df368fd View commit details
    Browse the repository at this point in the history
  8. Merging r353431:

    ------------------------------------------------------------------------
    r353431 | stulova | 2019-02-07 18:32:37 +0100 (Thu, 07 Feb 2019) | 9 lines
    
    [OpenCL][PR40603] In C++ preserve compatibility with OpenCL C v2.0
    
    Valid OpenCL C code should still compile in C++ mode.
    
    This change enables extensions and OpenCL types.
    
    Differential Revision: https://reviews.llvm.org/D57824
    
    
    ------------------------------------------------------------------------
    
    llvm-svn: 353826
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    e57cf6c View commit details
    Browse the repository at this point in the history
  9. Merging r353480:

    ------------------------------------------------------------------------
    r353480 | petarj | 2019-02-07 23:57:33 +0100 (Thu, 07 Feb 2019) | 15 lines
    
    [mips][micromips] Fix how values in .gcc_except_table are calculated
    
    When a landing pad is calculated in a program that is compiled for micromips
    with -fPIC flag, it will point to an even address.
    Such an error will cause a segmentation fault, as the instructions in
    micromips are aligned on odd addresses. This patch sets the last bit of the
    offset where a landing pad is, to 1, which will effectively be an odd
    address and point to the instruction exactly.
    
    r344591 fixed this issue for -static compilation.
    
    Patch by Aleksandar Beserminji.
    
    Differential Revision: https://reviews.llvm.org/D57677
    
    ------------------------------------------------------------------------
    
    llvm-svn: 353827
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    dfde9d6 View commit details
    Browse the repository at this point in the history
  10. Merging r353493:

    ------------------------------------------------------------------------
    r353493 | efriedma | 2019-02-08 02:17:49 +0100 (Fri, 08 Feb 2019) | 9 lines
    
    [COFF, ARM64] Fix types for _ReadStatusReg, _WriteStatusReg
    
    r344765 added those intrinsics, but used the wrong types.
    
    Patch by Mike Hommey
    
    Differential Revision: https://reviews.llvm.org/D57636
    
    
    ------------------------------------------------------------------------
    
    llvm-svn: 353828
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    eb0faeb View commit details
    Browse the repository at this point in the history
  11. Merging r353402:

    ------------------------------------------------------------------------
    r353402 | mstorsjo | 2019-02-07 13:46:49 +0100 (Thu, 07 Feb 2019) | 7 lines
    
    [clang-cl] support /Oy- on aarch64
    
    MSVC supports /Oy- on aarch64, so clang-cl should too.
    
    Patch by Nathan Froyd!
    
    Differential Revision: https://reviews.llvm.org/D57838
    ------------------------------------------------------------------------
    
    llvm-svn: 353829
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    a576b44 View commit details
    Browse the repository at this point in the history
  12. Merging r351322:

    ------------------------------------------------------------------------
    r351322 | pfaffe | 2019-01-16 12:14:07 +0100 (Wed, 16 Jan 2019) | 9 lines
    
    [MSan] Apply the ctor creation scheme of TSan
    
    Summary: To avoid adding an extern function to the global ctors list, apply the changes of D56538 also to MSan.
    
    Reviewers: chandlerc, vitalybuka, fedor.sergeev, leonardchan
    
    Subscribers: hiraditya, bollu, llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D56734
    ------------------------------------------------------------------------
    
    llvm-svn: 353830
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    ae61627 View commit details
    Browse the repository at this point in the history
  13. Merging r353656:

    ------------------------------------------------------------------------
    r353656 | brad | 2019-02-11 03:53:16 +0100 (Mon, 11 Feb 2019) | 4 lines
    
    long double is double on OpenBSD/NetBSD/PPC.
    
    Patch by George Koehler.
    
    ------------------------------------------------------------------------
    
    llvm-svn: 353831
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    33e2530 View commit details
    Browse the repository at this point in the history
  14. [WebAssembly] Backport custom import name changes for lld to 8.0.

    Specifically, this backports r352645, r352828, and r353473 to the
    8.0 branch. The trunk patches don't apply cleanly to 8.0 due to
    some contemporaneous mass-rename and mass-clang-tidy patches, so
    this merges them to simplify rebasing.
    
    r352645 [WebAssembly] Fix crash with LTO + relocatable + undefined symbols
    r352828 [WebAssembly] Support imports from custom module names
    r353473 [WebAssembly] Fix imported function symbol names that differ from their import names in the .o format
    
    By Dan Gohman!
    
    llvm-svn: 353833
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    ef182d5 View commit details
    Browse the repository at this point in the history
  15. [WebAssembly] Backport custom import name changes for clang to 8.0.

    Specifically, this backports r352106, r352108, r352930, and r352936
    to the 8.0 branch. The trunk patches don't apply cleanly to 8.0 due to
    some contemporaneous mass-rename and mass-clang-tidy patches, so
    this merges them to simplify rebasing.
    
    r352106 [WebAssembly] Add an import_module function attribute
    r352108 [WebAssembly] Add WebAssemblyImportModule to pragma-attribute-supported-attributes-list.test
    r352930 [WebAssembly] Add an import_field function attribute
    r352936 [WebAssembly] Fix ImportName's position in this test.
    
    By Dan Gohman!
    
    llvm-svn: 353834
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    16b7c08 View commit details
    Browse the repository at this point in the history
  16. [WebAssembly] Backport custom import name changes for LLVM to 8.0.

    Specifically, this backports r352479, r352931, r353474, and r353476
    to the 8.0 branch. The trunk patches don't apply cleanly to 8.0 due to
    some contemporaneous mass-rename and mass-clang-tidy patches, so
    this merges them to simplify rebasing.
    
    r352479 [WebAssembly] Re-enable main-function signature rewriting
    r352931 [WebAssembly] Add codegen support for the import_field attribute
    r353474 [WebAssembly] Fix imported function symbol names that differ from their import names in the .o format
    r353476 [WebAssembly] Update test output after rL353474. NFC.
    
    By Dan Gohman!
    
    llvm-svn: 353835
    zmodem committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    33a2b52 View commit details
    Browse the repository at this point in the history

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. ReleaseNotes: drop mention of -ftrivial-auto-var-init=zero

    llvm-svn: 354794
    zmodem committed Feb 25, 2019
    Configuration menu
    Copy the full SHA
    16667e0 View commit details
    Browse the repository at this point in the history
  2. Release notes for OpenCL

    Differential Revision: https://reviews.llvm.org/D58504
    
    llvm-svn: 354799
    Anastasia Stulova committed Feb 25, 2019
    Configuration menu
    Copy the full SHA
    bb92074 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2019

  1. ReleaseNotes: ARM64 SEH, pointed out by David Major

    llvm-svn: 354855
    zmodem committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    0777c34 View commit details
    Browse the repository at this point in the history
  2. Merging r354764:

    ------------------------------------------------------------------------
    r354764 | lebedevri | 2019-02-25 08:39:07 +0100 (Mon, 25 Feb 2019) | 123 lines
    
    [XRay][tools] Revert "Use Support/JSON.h in llvm-xray convert"
    
    Summary:
    This reverts D50129 / rL338834: [XRay][tools] Use Support/JSON.h in llvm-xray convert
    
    Abstractions are great.
    Readable code is great.
    JSON support library is a *good* idea.
    
    However unfortunately, there is an internal detail that one needs
    to be aware of in `llvm::json::Object` - it uses `llvm::DenseMap`.
    So for **every** `llvm::json::Object`, even if you only store a single `int`
    entry there, you pay the whole price of `llvm::DenseMap`.
    
    Unfortunately, it matters for `llvm-xray`.
    
    I was trying to analyse the `llvm-exegesis` analysis mode performance,
    and for that i wanted to view the LLVM X-Ray log visualization in Chrome
    trace viewer. And the `llvm-xray convert` is sluggish, and sometimes
    even ended up being killed by OOM.
    
    `xray-log.llvm-exegesis.lwZ0sT` was acquired from `llvm-exegesis`
    (compiled with ` -fxray-instruction-threshold=128`)
    analysis mode over `-benchmarks-file` with 10099 points (one full
    latency measurement set), with normal runtime of 0.387s.
    
    Timings:
    Old: (copied from D58580)
    ```
    $ perf stat -r 5 ./bin/llvm-xray convert -sort -symbolize -instr_map=./bin/llvm-exegesis -output-format=trace_event -output=/tmp/trace.yml xray-log.llvm-exegesis.lwZ0sT
    
     Performance counter stats for './bin/llvm-xray convert -sort -symbolize -instr_map=./bin/llvm-exegesis -output-format=trace_event -output=/tmp/trace.yml xray-log.llvm-exegesis.lwZ0sT' (5 runs):
    
              21346.24 msec task-clock                #    1.000 CPUs utilized            ( +-  0.28% )
                   314      context-switches          #   14.701 M/sec                    ( +- 59.13% )
                     1      cpu-migrations            #    0.037 M/sec                    ( +-100.00% )
               2181354      page-faults               # 102191.251 M/sec                  ( +-  0.02% )
           85477442102      cycles                    # 4004415.019 GHz                   ( +-  0.28% )  (83.33%)
           14526427066      stalled-cycles-frontend   #   16.99% frontend cycles idle     ( +-  0.70% )  (83.33%)
           32371533721      stalled-cycles-backend    #   37.87% backend cycles idle      ( +-  0.27% )  (33.34%)
           67896890228      instructions              #    0.79  insn per cycle
                                                      #    0.48  stalled cycles per insn  ( +-  0.03% )  (50.00%)
           14592654840      branches                  # 683631198.653 M/sec               ( +-  0.02% )  (66.67%)
             212207534      branch-misses             #    1.45% of all branches          ( +-  0.94% )  (83.34%)
    
               21.3502 +- 0.0585 seconds time elapsed  ( +-  0.27% )
    ```
    New:
    ```
    $ perf stat -r 9 ./bin/llvm-xray convert -sort -symbolize -instr_map=./bin/llvm-exegesis -output-format=trace_event -output=/tmp/trace.yml xray-log.llvm-exegesis.lwZ0sT
    
     Performance counter stats for './bin/llvm-xray convert -sort -symbolize -instr_map=./bin/llvm-exegesis -output-format=trace_event -output=/tmp/trace.yml xray-log.llvm-exegesis.lwZ0sT' (9 runs):
    
               7178.38 msec task-clock                #    1.000 CPUs utilized            ( +-  0.26% )
                   182      context-switches          #   25.402 M/sec                    ( +- 28.84% )
                     0      cpu-migrations            #    0.046 M/sec                    ( +- 70.71% )
                 33701      page-faults               # 4694.994 M/sec                    ( +-  0.88% )
           28761053971      cycles                    # 4006833.933 GHz                   ( +-  0.26% )  (83.32%)
            2028297997      stalled-cycles-frontend   #    7.05% frontend cycles idle     ( +-  1.61% )  (83.32%)
           10773154901      stalled-cycles-backend    #   37.46% backend cycles idle      ( +-  0.38% )  (33.36%)
           36199132874      instructions              #    1.26  insn per cycle
                                                      #    0.30  stalled cycles per insn  ( +-  0.03% )  (50.02%)
            6434504227      branches                  # 896420204.421 M/sec               ( +-  0.03% )  (66.68%)
              73355176      branch-misses             #    1.14% of all branches          ( +-  1.46% )  (83.33%)
    
                7.1807 +- 0.0190 seconds time elapsed  ( +-  0.26% )
    ```
    
    So using `llvm::json` nearly triples run-time on that test case.
    (+3x is times, not percent.)
    
    Memory:
    Old:
    ```
    total runtime: 39.88s.
    bytes allocated in total (ignoring deallocations): 79.07GB (1.98GB/s)
    calls to allocation functions: 33267816 (834135/s)
    temporary memory allocations: 5832298 (146235/s)
    peak heap memory consumption: 9.21GB
    peak RSS (including heaptrack overhead): 147.98GB
    total memory leaked: 1.09MB
    ```
    New:
    ```
    total runtime: 17.42s.
    bytes allocated in total (ignoring deallocations): 5.12GB (293.86MB/s)
    calls to allocation functions: 21382982 (1227284/s)
    temporary memory allocations: 232858 (13364/s)
    peak heap memory consumption: 350.69MB
    peak RSS (including heaptrack overhead): 2.55GB
    total memory leaked: 79.95KB
    ```
    Diff:
    ```
    total runtime: -22.46s.
    bytes allocated in total (ignoring deallocations): -73.95GB (3.29GB/s)
    calls to allocation functions: -11884834 (529155/s)
    temporary memory allocations: -5599440 (249307/s)
    peak heap memory consumption: -8.86GB
    peak RSS (including heaptrack overhead): 0B
    total memory leaked: -1.01MB
    ```
    So using `llvm::json` increases *peak* memory consumption on *this* testcase ~+27x.
    And total allocation count +15x. Both of these numbers are times, *not* percent.
    
    And note that memory usage is clearly unbound with `llvm::json`, it directly depends
    on the length of the log, so peak memory consumption is always increasing.
    This isn't so with the dumb code, there is no accumulating memory consumption,
    peak memory consumption is fixed. Naturally, that means it will handle *much*
    larger logs without OOM'ing.
    
    Readability is good, but the price is simply unacceptable here.
    Too bad none of this analysis was done as part of the development/review D50129 itself.
    
    Reviewers: dberris, kpw, sammccall
    
    Reviewed By: dberris
    
    Subscribers: riccibruno, hans, courbet, jdoerfert, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D58584
    ------------------------------------------------------------------------
    
    llvm-svn: 354856
    zmodem committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    ee57e9e View commit details
    Browse the repository at this point in the history
  3. Merging r354756:

    ------------------------------------------------------------------------
    r354756 | ctopper | 2019-02-24 20:33:37 +0100 (Sun, 24 Feb 2019) | 36 lines
    
    [X86] Fix tls variable lowering issue with large code model
    
    Summary:
    The problem here is the lowering for tls variable. Below is the DAG for the code.
    SelectionDAG has 11 nodes:
    
    t0: ch = EntryToken
          t8: i64,ch = load<(load 8 from `i8 addrspace(257)* null`, addrspace 257)> t0, Constant:i64<0>, undef:i64
            t10: i64 = X86ISD::WrapperRIP TargetGlobalTLSAddress:i64<i32* @x> 0 [TF=10]
          t11: i64,ch = load<(load 8 from got)> t0, t10, undef:i64
        t12: i64 = add t8, t11
      t4: i32,ch = load<(dereferenceable load 4 from @x)> t0, t12, undef:i64
    t6: ch = CopyToReg t0, Register:i32 %0, t4
    And when mcmodel is large, below instruction can NOT be folded.
    
      t10: i64 = X86ISD::WrapperRIP TargetGlobalTLSAddress:i64<i32* @x> 0 [TF=10]
    t11: i64,ch = load<(load 8 from got)> t0, t10, undef:i64
    So "t11: i64,ch = load<(load 8 from got)> t0, t10, undef:i64" is lowered to " Morphed node: t11: i64,ch = MOV64rm<Mem:(load 8 from got)> t10, TargetConstant:i8<1>, Register:i64 $noreg, TargetConstant:i32<0>, Register:i32 $noreg, t0"
    
    When llvm start to lower "t10: i64 = X86ISD::WrapperRIP TargetGlobalTLSAddress:i64<i32* @x> 0 [TF=10]", it fails.
    
    The patch is to fold the load and X86ISD::WrapperRIP.
    
    Fixes PR26906
    
    Patch by LuoYuanke
    
    Reviewers: craig.topper, rnk, annita.zhang, wxiao3
    
    Reviewed By: rnk
    
    Subscribers: llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D58336
    ------------------------------------------------------------------------
    
    llvm-svn: 354857
    zmodem committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    e745d6d View commit details
    Browse the repository at this point in the history
  4. Merging r354721:

    ------------------------------------------------------------------------
    r354721 | brad | 2019-02-23 07:19:28 +0100 (Sat, 23 Feb 2019) | 4 lines
    
    Remove sanitizer context workaround no longer necessary
    
    The base linker is now lld.
    
    ------------------------------------------------------------------------
    
    llvm-svn: 354858
    zmodem committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    319e7df View commit details
    Browse the repository at this point in the history
  5. Merging r354723:

    ------------------------------------------------------------------------
    r354723 | brad | 2019-02-23 08:21:19 +0100 (Sat, 23 Feb 2019) | 3 lines
    
    Remove OpenBSD case for old system libstdc++ header path as OpenBSD
    has switched to libc++.
    
    ------------------------------------------------------------------------
    
    llvm-svn: 354859
    zmodem committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    35782c5 View commit details
    Browse the repository at this point in the history
  6. Merging r354733:

    ------------------------------------------------------------------------
    r354733 | nikic | 2019-02-23 19:59:01 +0100 (Sat, 23 Feb 2019) | 10 lines
    
    [WebAssembly] Fix select of and (PR40805)
    
    Fixes https://bugs.llvm.org/show_bug.cgi?id=40805 introduced by
    patterns added in D53676.
    
    I'm removing the patterns entirely here, as they are not correct
    in the general case. If necessary something more specific can be
    added in the future.
    
    Differential Revision: https://reviews.llvm.org/D58575
    ------------------------------------------------------------------------
    
    llvm-svn: 354860
    zmodem committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    e56517b View commit details
    Browse the repository at this point in the history
  7. Add note on libFuzzer for Windows to release notes

    By Jonathan Metzman!
    
    Differential revision: https://reviews.llvm.org/D58676
    
    llvm-svn: 354892
    zmodem committed Feb 26, 2019
    Configuration menu
    Copy the full SHA
    8eb2ef1 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2019

  1. Merging r354207:

    ------------------------------------------------------------------------
    r354207 | whitequark | 2019-02-16 23:33:10 +0100 (Sat, 16 Feb 2019) | 16 lines
    
    [bindings/go] Fix building on 32-bit systems (ARM etc.)
    
    Summary:
    The patch in https://reviews.llvm.org/D53883 (by me) fails to build on 32-bit systems like ARM. Fix the array size to be less ridiculously large. 2<<20 should still be enough for all practical purposes.
    
    Bug: https://bugs.llvm.org/show_bug.cgi?id=40426
    
    Reviewers: whitequark, pcc
    
    Reviewed By: whitequark
    
    Subscribers: javed.absar, kristof.beyls, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D58030
    ------------------------------------------------------------------------
    
    llvm-svn: 354956
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    992552e View commit details
    Browse the repository at this point in the history
  2. Re-generate attribute docs

    llvm-svn: 354967
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    1733050 View commit details
    Browse the repository at this point in the history
  3. Merging r354968:

    ------------------------------------------------------------------------
    r354968 | hans | 2019-02-27 14:11:37 +0100 (Wed, 27 Feb 2019) | 1 line
    
    AttrDocs.td: fix broken bullet-point indentation
    ------------------------------------------------------------------------
    
    llvm-svn: 354970
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    6b486a4 View commit details
    Browse the repository at this point in the history
  4. Re-generate AttributeReference.rst again

    llvm-svn: 354971
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    8e077e9 View commit details
    Browse the repository at this point in the history
  5. ReleaseNotes: add Known Issues, clean up, etc.

    llvm-svn: 354973
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    ec4aab6 View commit details
    Browse the repository at this point in the history
  6. ReleaseNotes: tidy up

    llvm-svn: 354977
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    5666083 View commit details
    Browse the repository at this point in the history
  7. ReleaseNotes: tidy up (clangd notes are still expected)

    llvm-svn: 354979
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    b02e236 View commit details
    Browse the repository at this point in the history
  8. Merging r353422:

    ------------------------------------------------------------------------
    r353422 | kadircet | 2019-02-07 17:04:30 +0100 (Thu, 07 Feb 2019) | 18 lines
    
    [clangd] Reduce number of threads used by BackgroundIndex to number of physical cores.
    
    Summary:
    clangd is using as many threads as logical cores for BackgroundIndex
    by default. We observed that it increases latency of foreground tasks.
    
    This patch aims to change that default to number of physical cores to get rid of
    that extra latency.
    
    Reviewers: ilya-biryukov
    
    Reviewed By: ilya-biryukov
    
    Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D57819
    ------------------------------------------------------------------------
    
    llvm-svn: 354980
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    a4fc388 View commit details
    Browse the repository at this point in the history
  9. Merging r354505:

    ------------------------------------------------------------------------
    r354505 | ibiryukov | 2019-02-20 20:08:06 +0100 (Wed, 20 Feb 2019) | 13 lines
    
    [clangd] Store index in '.clangd/index' instead of '.clangd-index'
    
    Summary: To take up the .clangd folder for other potential uses in the future.
    
    Reviewers: kadircet, sammccall
    
    Reviewed By: kadircet
    
    Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D58440
    ------------------------------------------------------------------------
    
    llvm-svn: 354981
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    c57a1fc View commit details
    Browse the repository at this point in the history
  10. Merging r354505:

    ------------------------------------------------------------------------
    r354505 | ibiryukov | 2019-02-20 20:08:06 +0100 (Wed, 20 Feb 2019) | 13 lines
    
    [clangd] Store index in '.clangd/index' instead of '.clangd-index'
    
    Summary: To take up the .clangd folder for other potential uses in the future.
    
    Reviewers: kadircet, sammccall
    
    Reviewed By: kadircet
    
    Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D58440
    ------------------------------------------------------------------------
    
    llvm-svn: 354982
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    3043a72 View commit details
    Browse the repository at this point in the history
  11. Merging r354765:

    ------------------------------------------------------------------------
    r354765 | kadircet | 2019-02-25 10:19:26 +0100 (Mon, 25 Feb 2019) | 9 lines
    
    [clangd] Add thread priority lowering for MacOS as well
    
    Reviewers: ilya-biryukov
    
    Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D58492
    ------------------------------------------------------------------------
    
    llvm-svn: 354983
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    c6a1d49 View commit details
    Browse the repository at this point in the history
  12. Merging r354957:

    ------------------------------------------------------------------------
    r354957 | ibiryukov | 2019-02-27 11:16:03 +0100 (Wed, 27 Feb 2019) | 11 lines
    
    [clangd] Set thread priority on Windows
    
    Reviewers: kadircet, gribozavr
    
    Reviewed By: kadircet, gribozavr
    
    Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D58683
    ------------------------------------------------------------------------
    
    llvm-svn: 354984
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    e811d11 View commit details
    Browse the repository at this point in the history
  13. ReleaseNotes: remove another empty section

    llvm-svn: 354985
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    06a9d7d View commit details
    Browse the repository at this point in the history
  14. ReleaseNotes: tidy up

    llvm-svn: 354986
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    8c0e32b View commit details
    Browse the repository at this point in the history
  15. Merging r354777, r354778, r354779, r354786, r354865, and r354992

    ------------------------------------------------------------------------
    r354777 | gribozavr | 2019-02-25 13:48:52 +0100 (Mon, 25 Feb 2019) | 9 lines
    
    Removed an unhelpful comment in index.rst
    
    Reviewers: ilya-biryukov
    
    Subscribers: arphaman, jdoerfert, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D58602
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r354778 | gribozavr | 2019-02-25 13:49:27 +0100 (Mon, 25 Feb 2019) | 7 lines
    
    Fixed grammar in index.rst
    
    Subscribers: arphaman, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D58601
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r354779 | gribozavr | 2019-02-25 14:03:44 +0100 (Mon, 25 Feb 2019) | 9 lines
    
    Updated the documentation build instructions for the current CMake build system
    
    Reviewers: ilya-biryukov
    
    Subscribers: cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D58603
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r354786 | gribozavr | 2019-02-25 14:43:48 +0100 (Mon, 25 Feb 2019) | 9 lines
    
    Moved clangd docs to a separate directory in preparation to restructure them into multiple files
    
    Reviewers: ilya-biryukov
    
    Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, jdoerfert, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D58607
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r354865 | kadircet | 2019-02-26 12:08:04 +0100 (Tue, 26 Feb 2019) | 11 lines
    
    [clangd] Update docs to mention YCM integration and new LSP features
    
    Reviewers: gribozavr
    
    Reviewed By: gribozavr
    
    Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D56718
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r354992 | gribozavr | 2019-02-27 16:53:05 +0100 (Wed, 27 Feb 2019) | 13 lines
    
    Added more detailed documentation for clangd
    
    Summary:
    The text was written mostly by Sam McCall, screenshots are mostly made
    by me.
    
    Reviewers: ilya-biryukov
    
    Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, jdoerfert, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D58710
    ------------------------------------------------------------------------
    
    llvm-svn: 354997
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    f7be79e View commit details
    Browse the repository at this point in the history
  16. Added release notes for clangd 8

    By Dmitri Gribenko!
    
    Differential revision: https://reviews.llvm.org/D58721
    
    llvm-svn: 355004
    zmodem committed Feb 27, 2019
    Configuration menu
    Copy the full SHA
    95e1c29 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2019

  1. Merging r355116 and r355117:

    ------------------------------------------------------------------------
    r355116 | ctopper | 2019-02-28 19:49:29 +0100 (Thu, 28 Feb 2019) | 7 lines
    
    [X86] Don't peek through bitcasts before checking ISD::isBuildVectorOfConstantSDNodes in combineTruncatedArithmetic
    
    We don't have any combines that can look through a bitcast to truncate a build vector of constants. So the truncate will stick around and give us something like this pattern (binop (trunc X), (trunc (bitcast (build_vector)))) which has two truncates in it. Which will be reversed by hoistLogicOpWithSameOpcodeHands in the generic DAG combiner. Thus causing an infinite loop.
    
    Even if we had a combine for (truncate (bitcast (build_vector))), I think it would need to be implemented in getNode otherwise DAG combiner visit ordering would probably still visit the binop first and reverse it. Or combineTruncatedArithmetic would need to do its own constant folding.
    
    Differential Revision: https://reviews.llvm.org/D58705
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r355117 | ctopper | 2019-02-28 19:50:16 +0100 (Thu, 28 Feb 2019) | 1 line
    
    [X86] Add test case that was supposed to go with r355116.
    ------------------------------------------------------------------------
    
    llvm-svn: 355310
    zmodem committed Mar 4, 2019
    Configuration menu
    Copy the full SHA
    e65cd4e View commit details
    Browse the repository at this point in the history
  2. Merging r352465:

    ------------------------------------------------------------------------
    r352465 | mstorsjo | 2019-01-29 10:36:48 +0100 (Tue, 29 Jan 2019) | 17 lines
    
    [COFF, ARM64] Don't put jump table into a separate COFF section for EK_LabelDifference32
    
    Windows ARM64 has PIC relocation model and uses jump table kind
    EK_LabelDifference32. This produces jump table entry as
    ".word LBB123 - LJTI1_2" which represents the distance between the block
    and jump table.
    
    A new relocation type (IMAGE_REL_ARM64_REL32) is needed to do the fixup
    correctly if they are in different COFF section.
    
    This change saves the jump table to the same COFF section as the
    associated code. An ideal fix could be utilizing IMAGE_REL_ARM64_REL32
    relocation type.
    
    Patch by Tom Tan!
    
    Differential Revision: https://reviews.llvm.org/D57277
    ------------------------------------------------------------------------
    
    llvm-svn: 355311
    zmodem committed Mar 4, 2019
    Configuration menu
    Copy the full SHA
    502c655 View commit details
    Browse the repository at this point in the history
  3. Merging r355136:

    ------------------------------------------------------------------------
    r355136 | efriedma | 2019-02-28 21:38:45 +0100 (Thu, 28 Feb 2019) | 12 lines
    
    [AArch64] [Windows] Don't skip constructing UnwindHelp.
    
    In certain cases, the first non-frame-setup instruction in a function is
    a branch.  For example, it could be a cbz on an argument.  Make sure we
    correctly allocate the UnwindHelp, and find an appropriate register to
    use to initialize it.
    
    Fixes https://bugs.llvm.org/show_bug.cgi?id=40184
    
    Differential Revision: https://reviews.llvm.org/D58752
    
    
    ------------------------------------------------------------------------
    
    llvm-svn: 355313
    zmodem committed Mar 4, 2019
    Configuration menu
    Copy the full SHA
    d178638 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2019

  1. Merging r355227 and r355228:

    ------------------------------------------------------------------------
    r355227 | ctopper | 2019-03-01 22:02:34 +0100 (Fri, 01 Mar 2019) | 3 lines
    
    [X86] Add test case for D58805. NFC
    
    This demonstrates dead store elimination removing a store that may alias a gather that uses null as its base.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r355228 | ctopper | 2019-03-01 22:02:40 +0100 (Fri, 01 Mar 2019) | 7 lines
    
    [X86] Remove IntrArgMemOnly from target specific gather/scatter intrinsics
    
    IntrArgMemOnly implies that only memory pointed to by pointer typed arguments will be accessed. But these intrinsics allow you to pass null to the pointer argument and put the full address into the index argument. Other passes won't be able to understand this.
    
    A colleague found that ISPC was creating gathers like this and then dead store elimination removed some stores because it didn't understand what the gather was doing since the pointer argument was null.
    
    Differential Revision: https://reviews.llvm.org/D58805
    ------------------------------------------------------------------------
    
    llvm-svn: 355383
    zmodem committed Mar 5, 2019
    Configuration menu
    Copy the full SHA
    d39b590 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2019

  1. ReleaseNotes: Open Dylan; by Peter Housel

    llvm-svn: 355584
    zmodem committed Mar 7, 2019
    Configuration menu
    Copy the full SHA
    0a0560b View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2019

  1. Merging r354937:

    ------------------------------------------------------------------------
    r354937 | joerg | 2019-02-27 01:40:59 +0100 (Wed, 27 Feb 2019) | 9 lines
    
    Fix inline assembler constraint validation
    
    The current constraint logic is both too lax and too strict. It fails
    for input outside the [INT_MIN..INT_MAX] range, but it also implicitly
    accepts 0 as value when it should not. Adjust logic to handle both
    correctly.
    
    Differential Revision: https://reviews.llvm.org/D58649
    
    ------------------------------------------------------------------------
    
    llvm-svn: 355673
    zmodem committed Mar 8, 2019
    Configuration menu
    Copy the full SHA
    7681975 View commit details
    Browse the repository at this point in the history
  2. Merging r355491:

    ------------------------------------------------------------------------
    r355491 | hans | 2019-03-06 11:26:19 +0100 (Wed, 06 Mar 2019) | 9 lines
    
    Inline asm constraints: allow ICE-like pointers for the "n" constraint (PR40890)
    
    Apparently GCC allows this, and there's code relying on it (see bug).
    
    The idea is to allow expression that would have been allowed if they
    were cast to int. So I based the code on how such a cast would be done
    (the CK_PointerToIntegral case in IntExprEvaluator::VisitCastExpr()).
    
    Differential Revision: https://reviews.llvm.org/D58821
    ------------------------------------------------------------------------
    
    llvm-svn: 355674
    zmodem committed Mar 8, 2019
    Configuration menu
    Copy the full SHA
    2cc470a View commit details
    Browse the repository at this point in the history
  3. Merging r352119:

    ------------------------------------------------------------------------
    r352119 | rnk | 2019-01-24 23:26:51 +0100 (Thu, 24 Jan 2019) | 7 lines
    
    [clang-cl] Ignore space-separated /AI arguments
    
    The /AI flag is for #using directives, which I don't think we support.
    This is consistent with how the /I flag is handled by MSVC.  Add a test
    for it.
    
    Differential Revision: https://reviews.llvm.org/D57189
    ------------------------------------------------------------------------
    
    llvm-svn: 355675
    zmodem committed Mar 8, 2019
    Configuration menu
    Copy the full SHA
    2a1c7bd View commit details
    Browse the repository at this point in the history
  4. Merging r355489:

    ------------------------------------------------------------------------
    r355489 | hans | 2019-03-06 10:38:04 +0100 (Wed, 06 Mar 2019) | 1 line
    
    clang-cl: Parse /Qspectre and a few other missing options (PR40964)
    ------------------------------------------------------------------------
    
    llvm-svn: 355677
    zmodem committed Mar 8, 2019
    Configuration menu
    Copy the full SHA
    60c0551 View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2019

  1. Merging r355743:

    ------------------------------------------------------------------------
    r355743 | ericwf | 2019-03-08 23:06:48 +0100 (Fri, 08 Mar 2019) | 26 lines
    
    [8.0 Regression] Fix handling of `__builtin_constant_p` inside template arguments, enumerators, case statements, and the enable_if attribute.
    
    Summary:
    The following code is accepted by Clang 7 and prior but rejected by the upcoming 8 release and in trunk [1]
    
    ```
    // error {{never produces a constant expression}}
    void foo(const char* s) __attribute__((enable_if(__builtin_constant_p(*s) == false, "trap"))) {}
    void test() { foo("abc"); }
    ```
    
    Prior to Clang 8, the call to `__builtin_constant_p` was a constant expression returning false. Currently, it's not a valid constant expression.
    
    The bug is caused because we failed to set `InConstantContext` when attempting to evaluate unevaluated constant expressions.
    
    [1]  https://godbolt.org/z/ksAjmq
    
    Reviewers: rsmith, hans, sbenza
    
    Reviewed By: rsmith
    
    Subscribers: kristina, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D59038
    ------------------------------------------------------------------------
    
    llvm-svn: 355898
    zmodem committed Mar 12, 2019
    Configuration menu
    Copy the full SHA
    25292d1 View commit details
    Browse the repository at this point in the history
  2. ReleaseNotes: SystemZ, by Ulrich Weigand.

    llvm-svn: 355916
    zmodem committed Mar 12, 2019
    Configuration menu
    Copy the full SHA
    a73e76a View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2019

  1. ReleaseNotes: fix sorting, spotted by Eugene Zelenko

    llvm-svn: 356033
    zmodem committed Mar 13, 2019
    Configuration menu
    Copy the full SHA
    0712a5f View commit details
    Browse the repository at this point in the history
  2. ReleaseNotes: Changes to the JIT APIs; by Lang Hames

    llvm-svn: 356034
    zmodem committed Mar 13, 2019
    Configuration menu
    Copy the full SHA
    2ffb1b0 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2019

  1. Re-generate DiagnosticsReference.rst (PR41080)

      $ bin/clang-tblgen -gen-diag-docs -I../cfe.src/include
      -I../cfe.src/include/clang/Basic/
      ../cfe.src/include/clang/Basic/Diagnostic.td -o
      ../cfe.src/docs/DiagnosticsReference.rst
    
    llvm-svn: 356240
    zmodem committed Mar 15, 2019
    Configuration menu
    Copy the full SHA
    d2298e7 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2019

  1. Bump version to 8.0.1

    llvm-svn: 356708
    tstellar committed Mar 21, 2019
    Configuration menu
    Copy the full SHA
    db4cf6b View commit details
    Browse the repository at this point in the history
  2. git-llvm: Update for release_80 branch

    llvm-svn: 356714
    tstellar committed Mar 21, 2019
    Configuration menu
    Copy the full SHA
    bf2f5ab View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2019

  1. Merging r356924:

    ------------------------------------------------------------------------
    r356924 | tstellar | 2019-03-25 10:01:29 -0700 (Mon, 25 Mar 2019) | 1 line
    
    merge-request.sh: Update 8.0 metabug for 8.0.1
    ------------------------------------------------------------------------
    
    llvm-svn: 357234
    tstellar committed Mar 29, 2019
    Configuration menu
    Copy the full SHA
    25895ad View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2019

  1. Merging r355854:

    ------------------------------------------------------------------------
    r355854 | jonpa | 2019-03-11 12:00:37 -0700 (Mon, 11 Mar 2019) | 13 lines
    
    [RegAlloc]  Avoid compile time regression with multiple copy hints.
    
    As a fix for https://bugs.llvm.org/show_bug.cgi?id=40986 ("excessive compile
    time building opencollada"), this patch makes sure that no phys reg is hinted
    more than once from getRegAllocationHints().
    
    This handles the case were many virtual registers are assigned to the same
    physreg. The previous compile time fix (r343686) in weightCalcHelper() only
    made sure that physical/virtual registers are passed no more than once to
    addRegAllocationHint().
    
    Review: Dimitry Andric, Quentin Colombet
    https://reviews.llvm.org/D59201
    ------------------------------------------------------------------------
    
    llvm-svn: 358905
    tstellar committed Apr 22, 2019
    Configuration menu
    Copy the full SHA
    79c29c6 View commit details
    Browse the repository at this point in the history
  2. Merging r354672:

    ------------------------------------------------------------------------
    r354672 | petarj | 2019-02-22 06:53:58 -0800 (Fri, 22 Feb 2019) | 13 lines
    
    [mips][micromips] fix filling delay slots for PseudoIndirectBranch_MM
    
    Filling a delay slot in 32bit jump instructions with a 16bit instruction
    can cause issues. According to the documentation such an operation is
    unpredictable.
    This patch adds opcode Mips::PseudoIndirectBranch_MM alongside
    Mips::PseudoIndirectBranch and other instructions that are expanded to jr
    instruction and do not allow a 16bit instruction in their delay slots.
    
    Patch by Mirko Brkusanin.
    
    Differential Revision: https://reviews.llvm.org/D58507
    
    ------------------------------------------------------------------------
    
    llvm-svn: 358920
    tstellar committed Apr 22, 2019
    Configuration menu
    Copy the full SHA
    aaac4e0 View commit details
    Browse the repository at this point in the history
  3. Merging r356198:

    ------------------------------------------------------------------------
    r356198 | abataev | 2019-03-14 13:36:00 -0700 (Thu, 14 Mar 2019) | 5 lines
    
    [OPENMP]Fix crash for the ordered(n) clause.
    
    If the doacross lop construct is used and the loop counter is declare
    outside of the loop, the compiler might crash trying to get the address
    of the loop counter. Patch fixes this problem.
    ------------------------------------------------------------------------
    
    llvm-svn: 358923
    tstellar committed Apr 22, 2019
    Configuration menu
    Copy the full SHA
    1cef8c2 View commit details
    Browse the repository at this point in the history
  4. Merging r354808:

    ------------------------------------------------------------------------
    r354808 | nikic | 2019-02-25 10:54:17 -0800 (Mon, 25 Feb 2019) | 11 lines
    
    [Mips] Fix missing masking in fast-isel of br (PR40325)
    
    Fixes https://bugs.llvm.org/show_bug.cgi?id=40325 by zero extending
    (and x, 1) the condition before branching on it.
    
    To avoid regressing trivial cases, I'm combining emission of cmp+br
    sequences for the single-use + same block case (similar to what we
    do in x86). icmpbr1.ll still regresses due to the cross-bb usage
    of the condition.
    
    Differential Revision: https://reviews.llvm.org/D58576
    ------------------------------------------------------------------------
    
    llvm-svn: 358925
    tstellar committed Apr 22, 2019
    Configuration menu
    Copy the full SHA
    257c010 View commit details
    Browse the repository at this point in the history
  5. Merging r354882:

    ------------------------------------------------------------------------
    r354882 | atanasyan | 2019-02-26 06:45:17 -0800 (Tue, 26 Feb 2019) | 4 lines
    
    [mips] Emit `.module softfloat` directive
    
    This change fixes crash on an assertion in case of using
    `soft float` ABI for mips32r6 target.
    ------------------------------------------------------------------------
    
    llvm-svn: 358934
    tstellar committed Apr 22, 2019
    Configuration menu
    Copy the full SHA
    25b6e82 View commit details
    Browse the repository at this point in the history
  6. Merging r355825:

    ------------------------------------------------------------------------
    r355825 | petarj | 2019-03-11 07:13:31 -0700 (Mon, 11 Mar 2019) | 10 lines
    
    [MIPS][microMIPS] Add a pattern to match TruncIntFP
    
    A pattern needed to match TruncIntFP was missing. This was causing multiple
    tests from llvm test suite to fail during compilation for micromips.
    
    Patch by Mirko Brkusanin.
    
    Differential Revision: https://reviews.llvm.org/D58722
    
    ------------------------------------------------------------------------
    
    llvm-svn: 358936
    tstellar committed Apr 22, 2019
    Configuration menu
    Copy the full SHA
    047302e View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2019

  1. Merging r356039:

    ------------------------------------------------------------------------
    r356039 | atanasyan | 2019-03-13 04:04:38 -0700 (Wed, 13 Mar 2019) | 11 lines
    
    [MIPS][microMIPS] Fix PseudoMTLOHI_MM matching and expansion
    
    On micromips MipsMTLOHI is always matched to PseudoMTLOHI_DSP regardless
    of +dsp argument. This patch checks is HasDSP predicate is present for
    PseudoMTLOHI_DSP so PseudoMTLOHI_MM can be matched when appropriate.
    
    Add expansion of PseudoMTLOHI_MM instruction into a mtlo/mthi pair.
    
    Patch by Mirko Brkusanin.
    
    Differential Revision: http://reviews.llvm.org/D59203
    ------------------------------------------------------------------------
    
    llvm-svn: 358941
    tstellar committed Apr 23, 2019
    Configuration menu
    Copy the full SHA
    1ff9bed View commit details
    Browse the repository at this point in the history
  2. Merging r357506:

    ------------------------------------------------------------------------
    r357506 | atanasyan | 2019-04-02 11:03:31 -0700 (Tue, 02 Apr 2019) | 7 lines
    
    [driver][mips] Check both `gnuabi64` and `gnu` suffixes in `getMultiarchTriple`
    
    In case of N64 ABI toolchain paths migth have `mips-linux-gnuabi64`
    or `mips-linux-gnu` directory regardless of selected environment.
    Check both variants while detecting a multiarch triple.
    
    Fix for the bug https://bugs.llvm.org/show_bug.cgi?id=41204
    ------------------------------------------------------------------------
    
    llvm-svn: 358947
    tstellar committed Apr 23, 2019
    Configuration menu
    Copy the full SHA
    7aa4dc9 View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2019

  1. Merging r358885:

    ------------------------------------------------------------------------
    r358885 | grimar | 2019-04-22 06:40:42 -0700 (Mon, 22 Apr 2019) | 8 lines
    
    [LLD][ELF] - Do not forget to use ch_addralign field after decompressing the sections.
    
    LLD did not use ELF::Chdr::ch_addralign for decompressed sections.
    This resulted in a broken output.
    
    Fixes https://bugs.llvm.org/show_bug.cgi?id=40482.
    
    Differential revision: https://reviews.llvm.org/D60959
    ------------------------------------------------------------------------
    
    llvm-svn: 359209
    tstellar committed Apr 25, 2019
    Configuration menu
    Copy the full SHA
    604a417 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2019

  1. Merging r355607:

    ------------------------------------------------------------------------
    r355607 | petarj | 2019-03-07 08:31:08 -0800 (Thu, 07 Mar 2019) | 11 lines
    
    [DebugInfo] Fix the type of the formated variable
    
    Change the format type of *Personality and *LSDAAddress to PRIx64 since
    they are of type uint64_t.
    The problem was detected on mips builds, where it was printing junk values
    and causing test failure.
    
    Patch by Milos Stojanovic.
    
    Differential Revision: https://reviews.llvm.org/D58451
    
    ------------------------------------------------------------------------
    
    llvm-svn: 359851
    tstellar committed May 3, 2019
    Configuration menu
    Copy the full SHA
    68f2f7c View commit details
    Browse the repository at this point in the history
  2. Merging r357701:

    ------------------------------------------------------------------------
    r357701 | mgorny | 2019-04-04 07:21:38 -0700 (Thu, 04 Apr 2019) | 8 lines
    
    [llvm] [cmake] Add additional headers only if they exist
    
    Modify the add_header_files_for_glob() function to only add files
    that do exist, rather than all matches of the glob.  This fixes CMake
    error when one of the include directories (which happen to include
    /usr/include) contain broken symlinks.
    
    Differential Revision: https://reviews.llvm.org/D59632
    ------------------------------------------------------------------------
    
    llvm-svn: 359857
    tstellar committed May 3, 2019
    Configuration menu
    Copy the full SHA
    9465a4c View commit details
    Browse the repository at this point in the history
  3. Merging r357376 and r359120:

    ------------------------------------------------------------------------
    r357376 | labath | 2019-04-01 01:11:46 -0700 (Mon, 01 Apr 2019) | 27 lines
    
    [Linux/x86] Fix writing of non-gpr registers on newer processors
    
    Summary:
    We're using ptrace(PTRACE_SETREGSET, NT_X86_XSTATE) to write all non-gpt
    registers on x86 linux. Unfortunately, this method has a quirk, where
    the kernel rejects all attempts to write to this area if one supplies a
    buffer which is smaller than the area size (even though the kernel will
    happily accept partial reads from it).
    
    This means that if the CPU supports some new registers/extensions that
    we don't know about (in my case it was the PKRU extension), we will fail
    to write *any* non-gpr registers, even those that we know about.
    
    Since this is a situation that's likely to appear again and again, I add
    code to NativeRegisterContextLinux_x86_64 to detect the runtime size of
    the area, and allocate an appropriate buffer. This does not mean that we
    will start automatically supporting all new extensions, but it does mean
    that the new extensions will not prevent the old ones from working.
    
    This fixes tests attempting to write to non-gpr registers on new intel
    processors (cca Kaby Lake Refresh).
    
    Reviewers: jankratochvil, davezarzycki
    
    Subscribers: lldb-commits
    
    Differential Revision: https://reviews.llvm.org/D59991
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r359120 | josepht | 2019-04-24 11:00:12 -0700 (Wed, 24 Apr 2019) | 15 lines
    
    [lldb] Use local definition of get_cpuid_count
    
    Summary:
    This is needed for gcc/cstdlib++ 5.4.0, where __get_cpuid_count is not
    defined in cpuid.h.
    
    Reviewers: labath
    
    Reviewed By: labath
    
    Subscribers: lldb-commits
    
    Tags: #lldb
    
    Differential Revision: https://reviews.llvm.org/D61036
    ------------------------------------------------------------------------
    
    llvm-svn: 359945
    tstellar committed May 3, 2019
    Configuration menu
    Copy the full SHA
    87c0dbb View commit details
    Browse the repository at this point in the history
  4. Merging r359834:

    ------------------------------------------------------------------------
    r359834 | evandro | 2019-05-02 15:01:39 -0700 (Thu, 02 May 2019) | 3 lines
    
    [AArch64] Update for Exynos
    
    Fix the forwarding of multiplication results for Exynos M4.
    ------------------------------------------------------------------------
    
    llvm-svn: 359946
    tstellar committed May 3, 2019
    Configuration menu
    Copy the full SHA
    2a5c205 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2019

  1. Merging r359496:

    ------------------------------------------------------------------------
    r359496 | mstorsjo | 2019-04-29 13:25:51 -0700 (Mon, 29 Apr 2019) | 8 lines
    
    [X86] Run CFIInstrInserter on Windows if Dwarf is used
    
    This is necessary since SVN r330706, as tail merging can include
    CFI instructions since then.
    
    This fixes PR40322 and PR40012.
    
    Differential Revision: https://reviews.llvm.org/D61252
    ------------------------------------------------------------------------
    
    llvm-svn: 359952
    tstellar committed May 4, 2019
    Configuration menu
    Copy the full SHA
    0d754fd View commit details
    Browse the repository at this point in the history
  2. Merging r357885:

    ------------------------------------------------------------------------
    r357885 | ruiu | 2019-04-07 23:45:07 -0700 (Sun, 07 Apr 2019) | 13 lines
    
    Fix -emit-reloc against local symbols.
    
    Previously, we drop symbols starting with .L from the symbol table, so
    if there is a relocation that refers a .L symbol, it ended up
    referencing a null -- which happened to be interpreted as an absolute
    symbol.
    
    This patch copies all symbols including local ones if -emit-reloc is
    given.
    
    Fixes https://bugs.llvm.org/show_bug.cgi?id=41385
    
    Differential Revision: https://reviews.llvm.org/D60306
    ------------------------------------------------------------------------
    
    llvm-svn: 359956
    tstellar committed May 4, 2019
    Configuration menu
    Copy the full SHA
    7c1f15e View commit details
    Browse the repository at this point in the history

Commits on May 15, 2019

  1. Merging r360512:

    ------------------------------------------------------------------------
    r360512 | ctopper | 2019-05-10 21:19:33 -0700 (Fri, 10 May 2019) | 5 lines
    
    [X86] Don't emit MOVNTDQA loads from fast-isel without SSE4.1.
    
    We were checking for SSE4.1 for FP types, but not integer 128-bit types.
    
    Fixes PR41837.
    ------------------------------------------------------------------------
    
    llvm-svn: 360749
    tstellar committed May 15, 2019
    Configuration menu
    Copy the full SHA
    0203f70 View commit details
    Browse the repository at this point in the history
  2. Merging r356982:

    ------------------------------------------------------------------------
    r356982 | mstorsjo | 2019-03-26 02:02:44 -0700 (Tue, 26 Mar 2019) | 12 lines
    
    [llvm-dlltool] Set a proper machine type for weak symbol object files
    
    This makes GNU binutils not reject the libraries outright.
    
    GNU ld handles weak externals slightly differently though, so it
    can't use them for aliases in import libraries, but this makes GNU
    ld able to use the rest of the import libraries.
    
    LLD accepted object files with machine type 0 aka
    IMAGE_FILE_MACHINE_UNKNOWN.
    
    Differential Revision: https://reviews.llvm.org/D59742
    ------------------------------------------------------------------------
    
    llvm-svn: 360750
    tstellar committed May 15, 2019
    Configuration menu
    Copy the full SHA
    74cfa7a View commit details
    Browse the repository at this point in the history
  3. Merging r359883:

    ------------------------------------------------------------------------
    r359883 | arsenm | 2019-05-03 06:42:56 -0700 (Fri, 03 May 2019) | 6 lines
    
    AMDGPU: Fix incorrect commute with sub when folding immediates
    
    When a fold of an immediate into a sub/subrev required shrinking the
    instruction, the wrong VOP2 opcode was used. This was using the VOP2
    equivalent of the original instruction, not the commuted instruction
    with the inverted opcode.
    ------------------------------------------------------------------------
    
    llvm-svn: 360752
    tstellar committed May 15, 2019
    Configuration menu
    Copy the full SHA
    d9ccd0d View commit details
    Browse the repository at this point in the history
  4. Merging r358547:

    ------------------------------------------------------------------------
    r358547 | ruiu | 2019-04-16 19:12:47 -0700 (Tue, 16 Apr 2019) | 9 lines
    
    Fix a crash bug caused by a nested call of parallelForEach.
    
    parallelForEach is not reentrant. We use parallelForEach to call
    each section's writeTo(), so calling the same function within writeTo()
    is not safe.
    
    Fixes https://bugs.llvm.org/show_bug.cgi?id=41508
    
    Differential Revision: https://reviews.llvm.org/D60757
    ------------------------------------------------------------------------
    
    llvm-svn: 360791
    tstellar committed May 15, 2019
    Configuration menu
    Copy the full SHA
    0eebd31 View commit details
    Browse the repository at this point in the history
  5. Merging r355621:

    ------------------------------------------------------------------------
    r355621 | petarj | 2019-03-07 10:28:44 -0800 (Thu, 07 Mar 2019) | 5 lines
    
    fix expected format in test/ELF/eh-frame-hdr-augmentation.s
    
    Follow-up for r355605.
    Fix expected format in test/ELF/eh-frame-hdr-augmentation.s
    
    ------------------------------------------------------------------------
    
    llvm-svn: 360792
    tstellar committed May 15, 2019
    Configuration menu
    Copy the full SHA
    3f38b9e View commit details
    Browse the repository at this point in the history
  6. Merging r360099:

    ------------------------------------------------------------------------
    r360099 | efriedma | 2019-05-06 16:21:59 -0700 (Mon, 06 May 2019) | 26 lines
    
    [ARM] Glue register copies to tail calls.
    
    This generally follows what other targets do. I don't completely
    understand why the special case for tail calls existed in the first
    place; even when the code was committed in r105413, call lowering didn't
    work in the way described in the comments.
    
    Stack protector lowering breaks if the register copies are not glued to
    a tail call: we have to insert the stack protector check before the tail
    call, and we choose the location based on the assumption that all
    physical register dependencies of a tail call are adjacent to the tail
    call. (See FindSplitPointForStackProtector.) This is sort of fragile,
    but I don't see any reason to break that assumption.
    
    I'm guessing nobody has seen this before just because it's hard to
    convince the scheduler to actually schedule the code in a way that
    breaks; even without the glue, the only computation that could actually
    be scheduled after the register copies is the computation of the call
    address, and the scheduler usually prefers to schedule that before the
    copies anyway.
    
    Fixes https://bugs.llvm.org/show_bug.cgi?id=41417
    
    Differential Revision: https://reviews.llvm.org/D60427
    
    ------------------------------------------------------------------------
    
    llvm-svn: 360793
    tstellar committed May 15, 2019
    Configuration menu
    Copy the full SHA
    2570e4b View commit details
    Browse the repository at this point in the history
  7. Merging r359569:

    ------------------------------------------------------------------------
    r359569 | russell_gallop | 2019-04-30 08:35:16 -0700 (Tue, 30 Apr 2019) | 7 lines
    
    Add llvm-profdata to LLVM_TOOLCHAIN_TOOLS
    
    This is required for using PGO on Windows but isn't in the Windows
    release packages. Windows packages are built with
    LLVM_INSTALL_TOOLCHAIN_ONLY so only includes llvm "tools" listed here.
    
    Differential Revision: https://reviews.llvm.org/D61317
    ------------------------------------------------------------------------
    
    llvm-svn: 360801
    tstellar committed May 15, 2019
    Configuration menu
    Copy the full SHA
    35349ba View commit details
    Browse the repository at this point in the history
  8. Merging r355141:

    ------------------------------------------------------------------------
    r355141 | rnk | 2019-02-28 13:05:41 -0800 (Thu, 28 Feb 2019) | 11 lines
    
    [COFF] Add address-taken import thunks to the fid table
    
    Summary: Fixes PR39799
    
    Reviewers: dmajor, hans
    
    Subscribers: jdoerfert, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D58739
    ------------------------------------------------------------------------
    
    llvm-svn: 360803
    tstellar committed May 15, 2019
    Configuration menu
    Copy the full SHA
    9916d8d View commit details
    Browse the repository at this point in the history
  9. Merging r360212:

    ------------------------------------------------------------------------
    r360212 | kamil | 2019-05-07 17:44:41 -0700 (Tue, 07 May 2019) | 6 lines
    
    Fix build on NetBSD 8.99.38
    
    With recent changes the dev/nvmm/nvmm_ioctl.h header is no longer
    a standalone NVMM header. Disable it until the NVMM operations will
    stabilize and be included in the ioctl(2) interceptors.
    
    ------------------------------------------------------------------------
    
    llvm-svn: 360811
    tstellar committed May 15, 2019
    Configuration menu
    Copy the full SHA
    e58d5a4 View commit details
    Browse the repository at this point in the history
  10. Merging r354846:

    ------------------------------------------------------------------------
    r354846 | djg | 2019-02-25 21:20:19 -0800 (Mon, 25 Feb 2019) | 12 lines
    
    [WebAssembly] Properly align fp128 arguments in outgoing varargs arguments
    
    For outgoing varargs arguments, it's necessary to check the OrigAlign field
    of the corresponding OutputArg entry to determine argument alignment, rather
    than just computing an alignment from the argument value type. This is
    because types like fp128 are split into multiple argument values, with
    narrower types that don't reflect the ABI alignment of the full fp128.
    
    This fixes the printf("printfL: %4.*Lf\n", 2, lval); testcase.
    
    Differential Revision: https://reviews.llvm.org/D58656
    
    ------------------------------------------------------------------------
    
    llvm-svn: 360826
    tstellar committed May 15, 2019
    Configuration menu
    Copy the full SHA
    bc6695c View commit details
    Browse the repository at this point in the history

Commits on May 16, 2019

  1. Merging r360674:

    ------------------------------------------------------------------------
    r360674 | russell_gallop | 2019-05-14 07:01:40 -0700 (Tue, 14 May 2019) | 7 lines
    
    [Driver][Windows] Add dependent lib argument for profile instr generate
    
    This is needed so lld-link can find clang_rt.profile when self hosting
    on Windows with PGO. Using clang-cl as a linker knows to add the library
    but self hosting, using -DCMAKE_LINKER=<...>/lld-link.exe doesn't.
    
    Differential Revision: https://reviews.llvm.org/D61742
    ------------------------------------------------------------------------
    
    llvm-svn: 360828
    tstellar committed May 16, 2019
    Configuration menu
    Copy the full SHA
    05288f5 View commit details
    Browse the repository at this point in the history
  2. Merging r352806:

    ------------------------------------------------------------------------
    r352806 | sbc | 2019-01-31 14:38:22 -0800 (Thu, 31 Jan 2019) | 5 lines
    
    [WebAssembly] MC: Fix for outputing wasm object to /dev/null
    
    Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D57479
    ------------------------------------------------------------------------
    
    llvm-svn: 360949
    tstellar committed May 16, 2019
    Configuration menu
    Copy the full SHA
    4b1712f View commit details
    Browse the repository at this point in the history
  3. Merging r355038:

    ------------------------------------------------------------------------
    r355038 | joerg | 2019-02-27 13:53:14 -0800 (Wed, 27 Feb 2019) | 3 lines
    
    Default to Secure PLT on PPC for NetBSD and OpenBSD.
    This matches the default settings of clang.
    
    ------------------------------------------------------------------------
    
    llvm-svn: 360950
    tstellar committed May 16, 2019
    Configuration menu
    Copy the full SHA
    9124fda View commit details
    Browse the repository at this point in the history

Commits on May 23, 2019

  1. Merging r351523:

    ------------------------------------------------------------------------
    r351523 | dylanmckay | 2019-01-17 22:10:41 -0800 (Thu, 17 Jan 2019) | 12 lines
    
    [AVR] Expand 8/16-bit multiplication to libcalls on MCUs that don't have hardware MUL
    
    This change modifies the LLVM ISel lowering settings so that
    8-bit/16-bit multiplication is expanded to calls into the compiler
    runtime library if the MCU being targeted does not support
    multiplication in hardware.
    
    Before this, MUL instructions would be generated on CPUs like the
    ATtiny85, triggering a CPU reset due to an illegal instruction at
    runtime.
    
    First raised in avr-rust/rust-legacy-fork#124.
    ------------------------------------------------------------------------
    
    llvm-svn: 361551
    tstellar committed May 23, 2019
    Configuration menu
    Copy the full SHA
    1a19847 View commit details
    Browse the repository at this point in the history
  2. Merging r360825:

    ------------------------------------------------------------------------
    r360825 | atanasyan | 2019-05-15 15:27:19 -0700 (Wed, 15 May 2019) | 14 lines
    
    [mips] Always use _LARGEFILE_SOURCE / _FILE_OFFSET_BITS for building MIPS 32-bit
    
    When MIPS 32-bit compiler-rt is building on 32-bit host or using 32-bit
    `DLLVM_HOST_TRIPLE` the `_LARGEFILE_SOURCE` and the `_FILE_OFFSET_BITS=64`
    macros defined by statements from the `HandleLLVMOptions.cmake`. In case
    of building 32-bit libraries on 64-bit host using default host triple
    these macros are not defined. As a result assertions check a consistency
    between the `struct_kernel_stat_sz` constant and the `struct_kernel_stat_sz`
    start to fail.
    
    To resolve this problem and enable building both 32/64-bit versions
    of MIPS compiler-rt libraries on 64-bit host at once always explicitly
    define the `_LARGEFILE_SOURCE` and the `_FILE_OFFSET_BITS=64` macros
    for MIPS 32-bit.
    ------------------------------------------------------------------------
    
    llvm-svn: 361568
    tstellar committed May 23, 2019
    Configuration menu
    Copy the full SHA
    11c3a5c View commit details
    Browse the repository at this point in the history

Commits on May 29, 2019

  1. Merging r354184:

    ------------------------------------------------------------------------
    r354184 | ruiu | 2019-02-15 15:11:18 -0800 (Fri, 15 Feb 2019) | 10 lines
    
    [PPC64] Preserve LocalEntry when linking
    
    On PowerPC64, it is necessary to keep the LocalEntry bits in st_other,
    especially when -r is used. Otherwise, when the resulting object is used
    in a posterior linking, LocalEntry info will be unavailable and
    functions may be called through the wrong entrypoint.
    
    Patch by Leandro Lupori.
    
    Differential Revision: https://reviews.llvm.org/D56782
    ------------------------------------------------------------------------
    
    llvm-svn: 361921
    tstellar committed May 29, 2019
    Configuration menu
    Copy the full SHA
    c743d72 View commit details
    Browse the repository at this point in the history
  2. Merging r353700:

    ------------------------------------------------------------------------
    r353700 | mgorny | 2019-02-11 06:09:43 -0800 (Mon, 11 Feb 2019) | 7 lines
    
    [lldb] [test] Skip lldb-mi test if LLDB_DISABLE_PYTHON is used
    
    Skip running lldb-mi tests when Python support is disabled.  This causes
    lldb-mi to unconditionally fail, and therefore all the relevant tests
    fail as well.
    
    Differential Revision: https://reviews.llvm.org/D58000
    ------------------------------------------------------------------------
    
    llvm-svn: 362016
    tstellar committed May 29, 2019
    Configuration menu
    Copy the full SHA
    d446349 View commit details
    Browse the repository at this point in the history
  3. Merging r353701:

    ------------------------------------------------------------------------
    r353701 | mgorny | 2019-02-11 06:09:48 -0800 (Mon, 11 Feb 2019) | 8 lines
    
    [lldb] [lit] Fix finding lld-link when it is not in 'compiler dir'
    
    Fix the build helper to find lld-link via PATH lookup, rather than
    making a fragile assumption that it will be present in the 'compiler
    directory'.  This fixes tests on Gentoo where clang and lld
    are installed in different directories.
    
    Differential Revision: https://reviews.llvm.org/D58001
    ------------------------------------------------------------------------
    
    llvm-svn: 362017
    tstellar committed May 29, 2019
    Configuration menu
    Copy the full SHA
    e31804d View commit details
    Browse the repository at this point in the history
  4. Merging r359606:

    ------------------------------------------------------------------------
    r359606 | amyk | 2019-04-30 13:09:00 -0700 (Tue, 30 Apr 2019) | 12 lines
    
    [compiler-rt][builtins][sanitizers] Update compiler-rt test cases for
    compatibility with system's toolchain
    
    This patch aims to:
    - Guard ompiler-rt/test/builtins/Unit/compiler_rt_logb_test.c with macros, so
    the test runs on GLIBC versions >= 2.23. This is because the test relies on
    comparing its computed values to libm. Oolder versions might not compute to the
    same value as the compiler-rt value.
    - Update compiler-rt/test/sanitizer_common/TestCases/Posix/getpw_getgr.cc
    so that std::string is not used, since false positives may be detected.
    
    Differential Revision: https://reviews.llvm.org/D60644
    ------------------------------------------------------------------------
    
    llvm-svn: 362024
    tstellar committed May 29, 2019
    Configuration menu
    Copy the full SHA
    f0bd598 View commit details
    Browse the repository at this point in the history

Commits on May 30, 2019

  1. Merging r353865, r353866, and r353874:

    ------------------------------------------------------------------------
    r353865 | sfertile | 2019-02-12 09:48:22 -0800 (Tue, 12 Feb 2019) | 1 line
    
    [PowerPC] Fix printing of negative offsets in call instruction dissasembly.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353866 | sfertile | 2019-02-12 09:49:04 -0800 (Tue, 12 Feb 2019) | 4 lines
    
    [PPC64] Update tests to reflect change in printing of call operand. [NFC]
    
    The printing of branch operands for call instructions was changed to properly
    handle negative offsets. Updating the tests to reflect that.
    ------------------------------------------------------------------------
    
    ------------------------------------------------------------------------
    r353874 | sfertile | 2019-02-12 12:03:04 -0800 (Tue, 12 Feb 2019) | 5 lines
    
    Fix undefined behaviour in PPCInstPrinter::printBranchOperand.
    
    Fix the undefined behaviour introduced by my previous patch r353865 (left
    shifting a potentially negative value), which was caught by the bots that run
    UBSan.
    ------------------------------------------------------------------------
    
    llvm-svn: 362043
    tstellar committed May 30, 2019
    Configuration menu
    Copy the full SHA
    e3dc222 View commit details
    Browse the repository at this point in the history
  2. Merging r359883:

    ------------------------------------------------------------------------
    r359883 | arsenm | 2019-05-03 06:42:56 -0700 (Fri, 03 May 2019) | 6 lines
    
    AMDGPU: Fix incorrect commute with sub when folding immediates
    
    When a fold of an immediate into a sub/subrev required shrinking the
    instruction, the wrong VOP2 opcode was used. This was using the VOP2
    equivalent of the original instruction, not the commuted instruction
    with the inverted opcode.
    ------------------------------------------------------------------------
    
    llvm-svn: 362161
    arsenm committed May 30, 2019
    Configuration menu
    Copy the full SHA
    5733e36 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2019

  1. Merging part of r358975:

    Only merged the test changes in files that were also changed in r360405.
    
    ------------------------------------------------------------------------
    r358975 | maskray | 2019-04-23 04:47:28 -0700 (Tue, 23 Apr 2019) | 18 lines
    
    [PPC][PPC64] Improve some llvm-objdump -d -D tests
    
    Various improvement:
    
    Some offsets in disassembly are incorrect after several layout adjustment. Fix them.
    llvm-objdump -D should not be used. -D dumps unrelated non-text sections. Replace them with llvm-objdump -d, llvm-readelf -x, etc
    Many llvm-objdump -d tests use {{.*}} . Add the option --no-show-raw-insn to avoid check hex bytes.
    
    ppc64-long-branch.s does not need a shared object. Delete it.
    Make ppc64-ifunc.s check 2 ifuncs.
    
    Reviewers: ruiu, espindola
    
    Subscribers: emaste, nemanjai, arichardson, kbarton, jsji, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D60998
    ------------------------------------------------------------------------
    
    llvm-svn: 362273
    tstellar committed May 31, 2019
    Configuration menu
    Copy the full SHA
    f1cacab View commit details
    Browse the repository at this point in the history
  2. Merging r360405:

    ------------------------------------------------------------------------
    r360405 | maskray | 2019-05-09 22:51:00 -0700 (Thu, 09 May 2019) | 25 lines
    
    [PPC64] Define getThunkSectionSpacing() based on the range of R_PPC64_REL24
    
    Suggested by Sean Fertile and Peter Smith.
    
    Thunk section spacing decrease the total number of thunks. I measured a
    decrease of 1% or less in some large programs, with no perceivable
    slowdown in link time. Override getThunkSectionSpacing() to enable it.
    0x2000000 is the farthest point R_PPC64_REL24 can reach. I tried several
    numbers and found 0x2000000 works the best. Numbers near 0x2000000 work
    as well but let's just use the simpler number.
    
    As demonstrated by the updated tests, this essentially changes placement
    of most thunks to the end of the output section. We leverage this
    property to fix PR40740 reported by Alfredo Dal'Ava Júnior:
    
    The output section .init consists of input sections from several object
    files (crti.o crtbegin.o crtend.o crtn.o). Sections other than the last
    one do not have a terminator. With this patch, we create the thunk after
    the last .init input section and thus fix the issue. This is not
    foolproof but works quite well for such sections (with no terminator) in
    practice.
    
    Reviewed By: ruiu, sfertile
    
    Differential Revision: https://reviews.llvm.org/D61720
    ------------------------------------------------------------------------
    
    llvm-svn: 362274
    tstellar committed May 31, 2019
    Configuration menu
    Copy the full SHA
    0489682 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2019

  1. Merging r359891:

    ------------------------------------------------------------------------
    r359891 | arsenm | 2019-05-03 07:40:10 -0700 (Fri, 03 May 2019) | 9 lines
    
    AMDGPU: Replace shrunk instruction with dummy implicit_def
    
    This was broken if the original operand was killed. The kill flag
    would appear on both instructions, and fail the verifier. Keep the
    kill flag, but remove the operands from the old instruction. This has
    an added benefit of really reducing the use count for future folds.
    
    Ideally the pass would be structured more like what PeepholeOptimizer
    does to avoid this hack to avoid breaking instruction iterators.
    ------------------------------------------------------------------------
    
    llvm-svn: 362634
    arsenm committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    836f1e2 View commit details
    Browse the repository at this point in the history
  2. Correct test in r362634

    llvm-svn: 362635
    arsenm committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    b73bafa View commit details
    Browse the repository at this point in the history
  3. Merging r359898:

    ------------------------------------------------------------------------
    r359898 | arsenm | 2019-05-03 08:21:53 -0700 (Fri, 03 May 2019) | 3 lines
    
    AMDGPU: Support shrinking add with FI in SIFoldOperands
    
    Avoids test regression in a future patch
    ------------------------------------------------------------------------
    
    llvm-svn: 362648
    arsenm committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    c8af241 View commit details
    Browse the repository at this point in the history
  4. Merging r359899:

    ------------------------------------------------------------------------
    r359899 | arsenm | 2019-05-03 08:37:07 -0700 (Fri, 03 May 2019) | 7 lines
    
    AMDGPU: Select VOP3 form of sub
    
    The VOP3 form should always be the preferred selection form to be
    shrunk later.
    
    The r600 sub test needs to be split out because it asserts on the
    arguments in the new test during the calling convention lowering.
    ------------------------------------------------------------------------
    
    llvm-svn: 362654
    arsenm committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    5b37d89 View commit details
    Browse the repository at this point in the history
  5. Merging r360293:

    ------------------------------------------------------------------------
    r360293 | arsenm | 2019-05-08 15:09:57 -0700 (Wed, 08 May 2019) | 21 lines
    
    AMDGPU: Select VOP3 form of add
    
    The VOP3 form should always be the preferred selection, to be shrunk
    later. This should only be an optimization issue, but this partially
    works around a problem from clobbering VCC when SIFixSGPRCopies
    rewrites an SCC defining operation directly to VCC.
    
    3 of the testcases are regressions from failing to fold the immediate
    in cases it should. These can be avoided by improving the VCC liveness
    handling in SIFoldOperands. Simply increasing the threshold to
    computeRegisterLiveness works, although this is common enough that VCC
    liveness should probably be tracked throughout the pass. The hack of
    leaving behind an implicit_def instruction to avoid breaking iterator
    wastes instruction count, which inhibits finding the VCC def in long
    chains of adds. Doing this however exposes different, worse looking
    regressions from poor scheduling behavior. This could probably be
    avoided around by forcing the shrink of the addc here, but the
    scheduler should probably be fixed.
    
    The r600 add test needs to be split out because it asserts on the
    arguments in the new test during the calling convention lowering.
    ------------------------------------------------------------------------
    
    llvm-svn: 362658
    arsenm committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    d95b14d View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2019

  1. Merging r360439:

    ------------------------------------------------------------------------
    r360439 | maskray | 2019-05-10 09:24:57 -0700 (Fri, 10 May 2019) | 8 lines
    
    [llvm-objdump] Print st_other
    
    Add support for ".hidden" ".internal" ".protected" and " 0x%02x" for
    other st_other bits used by some architectures.
    
    Reviewed By: sfertile
    
    Differential Revision: https://reviews.llvm.org/D61718
    ------------------------------------------------------------------------
    
    llvm-svn: 362668
    tstellar committed Jun 6, 2019
    Configuration menu
    Copy the full SHA
    c493057 View commit details
    Browse the repository at this point in the history
  2. Merging r360442:

    ------------------------------------------------------------------------
    r360442 | maskray | 2019-05-10 10:09:25 -0700 (Fri, 10 May 2019) | 12 lines
    
    [MC][ELF] Copy top 3 bits of st_other to .symver aliases
    
    On PowerPC64 ELFv2 ABI, the top 3 bits of st_other encode the local
    entry offset. A versioned symbol alias created by .symver should copy
    the bits from the source symbol.
    
    This partly fixes PR41048. A full fix needs tracking of .set assignments
    and updating st_other fields when finish() is called, see D56586.
    
    Patch by Alfredo Dal'Ava Júnior
    
    Differential Revision: https://reviews.llvm.org/D59436
    ------------------------------------------------------------------------
    
    llvm-svn: 362669
    tstellar committed Jun 6, 2019
    Configuration menu
    Copy the full SHA
    0462c73 View commit details
    Browse the repository at this point in the history
  3. Skip globals-fundamental test when Python is disabled

    llvm-svn: 362670
    tstellar committed Jun 6, 2019
    Configuration menu
    Copy the full SHA
    4db27e1 View commit details
    Browse the repository at this point in the history
  4. Merging r361237:

    ------------------------------------------------------------------------
    r361237 | maskray | 2019-05-21 03:41:25 -0700 (Tue, 21 May 2019) | 14 lines
    
    [PPC64] Update LocalEntry from assigned symbols
    
    On PowerPC64 ELFv2 ABI, functions may have 2 entry points: global and local.
    The local entry point location of a function is stored in the st_other field of the symbol, as an offset relative to the global entry point.
    
    In order to make symbol assignments (e.g. .equ/.set) work properly with this, PPCTargetELFStreamer already copies the local entry bits from the source symbol to the destination one, on emitAssignment(). The problem is that this copy is performed only at the assignment location, where the source symbol may not yet have processed the .localentry directive, that sets the local entry. This may cause the destination symbol to end up with wrong local entry information. Other symbol info is not affected by this because, in this case, the destination symbol value is actually a symbol reference.
    
    This change keeps track of these assignments, and update all needed st_other fields when finish() is called.
    
    Patch by Leandro Lupori!
    
    Reviewed By: MaskRay
    
    Differential Revision: https://reviews.llvm.org/D56586
    ------------------------------------------------------------------------
    
    llvm-svn: 362671
    tstellar committed Jun 6, 2019
    Configuration menu
    Copy the full SHA
    897fd6e View commit details
    Browse the repository at this point in the history
  5. Merging r355154:

    ------------------------------------------------------------------------
    r355154 | joerg | 2019-02-28 15:33:09 -0800 (Thu, 28 Feb 2019) | 2 lines
    
    [PPC] Secure PLT only has meaning for PIC
    
    ------------------------------------------------------------------------
    
    llvm-svn: 362729
    tstellar committed Jun 6, 2019
    Configuration menu
    Copy the full SHA
    e98c4c8 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2019

  1. Merging r353905:

    ------------------------------------------------------------------------
    r353905 | hubert.reinterpretcast | 2019-02-12 16:55:30 -0800 (Tue, 12 Feb 2019) | 17 lines
    
    [xray][tests][RHDTS] Add -lstdc++ after LLVM libs, resolving link error with RHDTS
    
    Summary:
    A link error was encountered when using the Red Hat Developer Toolset.
    In the RHDTS, `libstdc++.so` is a linker script that may resolve symbols
    to a static library. This patch places `-lstdc++` later in the ordering.
    
    Reviewers: sfertile, nemanjai, tstellar, dberris
    
    Reviewed By: dberris
    
    Subscribers: dberris, mgorny, delcypher, jdoerfert, #sanitizers, llvm-commits
    
    Tags: #llvm, #sanitizers
    
    Differential Revision: https://reviews.llvm.org/D58144
    
    ------------------------------------------------------------------------
    
    llvm-svn: 362765
    tstellar committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    0e657d4 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2019

  1. Merging r361090:

    ------------------------------------------------------------------------
    r361090 | maskray | 2019-05-17 20:16:00 -0700 (Fri, 17 May 2019) | 34 lines
    
    [ARM][AArch64] Revert Android Bionic PT_TLS overaligning hack
    
    This reverts D53906.
    
    D53906 increased p_align of PT_TLS on ARM/AArch64 to 32/64 to make the
    static TLS layout compatible with Android Bionic's ELF TLS. However,
    this may cause glibc ARM/AArch64 programs to crash (see PR41527).
    
    The faulty PT_TLS in the executable satisfies p_vaddr%p_align != 0. The
    remainder is normally 0 but may be non-zero with the hack in place. The
    problem is that we increase PT_TLS's p_align after OutputSections'
    addresses are fixed (assignAddress()). It is possible that
    p_vaddr%old_p_align = 0 while p_vaddr%new_p_align != 0.
    
    For a thread local variable defined in the executable, lld computed TLS
    offset (local exec) is different from glibc computed TLS offset from
    another module (initial exec/generic dynamic). Note: PR41527 said the
    bug affects initial exec but actually generic dynamic is affected as
    well.
    
    (glibc is correct in that it compute offsets that satisfy
    `offset%p_align == p_vaddr%p_align`, which is a basic ELF requirement.
    This hack appears to work on FreeBSD rtld, musl<=1.1.22, and Bionic, but
    that is just because they (and lld) incorrectly compute offsets that
    satisfy `offset%p_align = 0` instead.)
    
    Android developers are fine to revert this patch, carry this patch in
    their tree before figuring out a long-term solution (e.g. a dummy .tdata
    with sh_addralign=64 sh_size={0,1} in crtbegin*.o files. The overhead is
    now insignificant after D62059).
    
    Reviewed By: rprichard, srhines
    
    Differential Revision: https://reviews.llvm.org/D62055
    ------------------------------------------------------------------------
    
    llvm-svn: 362858
    tstellar committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    ad5bcd4 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2019

  1. Merging r351577:

    ------------------------------------------------------------------------
    r351577 | ssijaric | 2019-01-18 11:34:20 -0800 (Fri, 18 Jan 2019) | 5 lines
    
    Fix the buildbot issue introduced by r351421
    
    The EXPENSIVE_CHECK x86_64 Windows buildbot is failing due to this change. Fix
    the map access.
    
    ------------------------------------------------------------------------
    
    llvm-svn: 363006
    tstellar committed Jun 10, 2019
    Configuration menu
    Copy the full SHA
    90c370c View commit details
    Browse the repository at this point in the history
  2. Merging r358042:

    ------------------------------------------------------------------------
    r358042 | jimlin | 2019-04-09 18:56:32 -0700 (Tue, 09 Apr 2019) | 34 lines
    
    [Sparc] Fix incorrect MI insertion position for spilling f128.
    
    Summary:
    Obviously, new built MI (sethi+add or sethi+xor+add) for constructing large offset
    should be inserted before new created MI for storing even register into memory.
    So the insertion position should be *StMI instead of II.
    
    before fixed:
    
    std %f0, [%g1+80]
    sethi 4, %g1        <<<
    add %g1, %sp, %g1   <<< this two instructions should be put before "std %f0, [%g1+80]".
    sethi 4, %g1
    add %g1, %sp, %g1
    std %f2, [%g1+88]
    
    after fixed:
    
    sethi 4, %g1
    add %g1, %sp, %g1
    std %f0, [%g1+80]
    sethi 4, %g1
    add %g1, %sp, %g1
    std %f2, [%g1+88]
    
    Reviewers: venkatra, jyknight
    
    Reviewed By: jyknight
    
    Subscribers: jyknight, fedor.sergeev, jrtc27, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D60397
    ------------------------------------------------------------------------
    
    llvm-svn: 363010
    tstellar committed Jun 10, 2019
    Configuration menu
    Copy the full SHA
    9a2cfae View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2019

  1. Add release note for DIBuilder API changes

    llvm-svn: 363027
    tstellar committed Jun 11, 2019
    Configuration menu
    Copy the full SHA
    213f2ed View commit details
    Browse the repository at this point in the history
  2. Merging r360862:

    ------------------------------------------------------------------------
    r360862 | mstorsjo | 2019-05-15 23:49:20 -0700 (Wed, 15 May 2019) | 12 lines
    
    [PPC] Fix 32-bit build of libunwind
    
    Clang integrated assembler was unable to build libunwind PPC32 assembly code,
    present in functions used to save/restore register context.
    
    This change consists in replacing the assembly style used in libunwind source,
    to one that is compatible with both Clang integrated assembler as well as
    GNU assembler.
    
    Patch by Leandro Lupori!
    
    Differential Revision: https://reviews.llvm.org/D61792
    ------------------------------------------------------------------------
    
    llvm-svn: 363030
    tstellar committed Jun 11, 2019
    Configuration menu
    Copy the full SHA
    2fb27a2 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2019

  1. Merging r361158:

    ------------------------------------------------------------------------
    r361158 | jprotze | 2019-05-20 07:21:42 -0700 (Mon, 20 May 2019) | 11 lines
    
    [OpenMP][OMPT] Fix locking testcases for 32 bit architectures
    
    https://reviews.llvm.org/D58454 did not fix the problem for a typical use
    case of building LLVM with gcc or icc and then testing with the newly built
    clang compiler.
    The compilers do not agree on how to extend a 32-bit pointer to uint64, so
    make the pointer unsigned first, before adjusting the size.
    
    Patch by Joachim Protze
    
    Differential Revision: https://reviews.llvm.org/D58506
    ------------------------------------------------------------------------
    
    llvm-svn: 363628
    tstellar committed Jun 17, 2019
    Configuration menu
    Copy the full SHA
    c2be208 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2019

  1. Merging r359094:

    ------------------------------------------------------------------------
    r359094 | maskray | 2019-04-24 07:03:30 -0700 (Wed, 24 Apr 2019) | 12 lines
    
    [PPC64] Consider localentry offset when computing branch distance
    
    Summary:
    We don't take localentry offset into account, and thus may fail to
    create a long branch when the gap is just a few bytes smaller than 2^25.
    
    relocation R_PPC64_REL24 out of range: 33554432 is not in [-33554432, 33554431]
    relocation R_PPC64_REL24 out of range: 33554436 is not in [-33554432, 33554431]
    
    Fix that by adding the offset to the symbol VA.
    
    Differential Revision: https://reviews.llvm.org/D61058
    ------------------------------------------------------------------------
    
    llvm-svn: 364209
    tstellar committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    4ebe62d View commit details
    Browse the repository at this point in the history
  2. Merging r360861:

    ------------------------------------------------------------------------
    r360861 | mstorsjo | 2019-05-15 23:49:13 -0700 (Wed, 15 May 2019) | 13 lines
    
    [PPC64][libunwind] Fix r2 not properly restored
    
    This change makes each unwind step inspect the instruction at the
    return address and, if needed, read r2 from its saved location and
    modify the context appropriately.
    
    The unwind logic is able to handle both ELFv1 and ELFv2 stacks.
    
    Reported by Bug 41050
    
    Patch by Leandro Lupori!
    
    Differential Revision: https://reviews.llvm.org/D59694
    ------------------------------------------------------------------------
    
    llvm-svn: 364217
    tstellar committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    464c365 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2019

  1. Merging r361114:

    ------------------------------------------------------------------------
    r361114 | mgorny | 2019-05-18 23:05:31 -0700 (Sat, 18 May 2019) | 3 lines
    
    [lldb] [lit] Driver/TestConvenienceVariables.test requires Python
    
    Differential Revision: https://reviews.llvm.org/D62096
    ------------------------------------------------------------------------
    
    llvm-svn: 364257
    tstellar committed Jun 25, 2019
    Configuration menu
    Copy the full SHA
    d375592 View commit details
    Browse the repository at this point in the history
  2. Merging r355033:

    ------------------------------------------------------------------------
    r355033 | joerg | 2019-02-27 13:46:01 -0800 (Wed, 27 Feb 2019) | 2 lines
    
    Use Secure PLT as default on NetBSD/PowerPC.
    
    ------------------------------------------------------------------------
    
    llvm-svn: 364258
    tstellar committed Jun 25, 2019
    Configuration menu
    Copy the full SHA
    21f32a9 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2019

  1. Merging r359809:

    ------------------------------------------------------------------------
    r359809 | rnk | 2019-05-02 10:45:54 -0700 (Thu, 02 May 2019) | 27 lines
    
    Use primary template parameter names for variable template debug info
    
    Summary:
    Fixes PR41677
    
    Consider:
      template <typename LHS, typename RHS> constexpr bool is_same_v = false;
      template <typename T> constexpr bool is_same_v<T, T> = true;
      template constexpr bool is_same_v<int, int>;
    
    Before this change, when emitting debug info for the
    `is_same_v<int, int>` global variable, clang would crash because it
    would try to use the template parameter list from the partial
    specialization to give parameter names to template arguments. This
    doesn't work in general, since a partial specialization can have fewer
    arguments than the primary template. Therefore, always use the primary
    template. Hypothetically we could try to use the parameter names from
    the partial specialization when possible, but it's not clear this really
    helps debugging in practice.
    
    Reviewers: JDevlieghere, aprantl, ormris, dblaikie
    
    Subscribers: cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D61408
    ------------------------------------------------------------------------
    
    llvm-svn: 364483
    rnk committed Jun 26, 2019
    Configuration menu
    Copy the full SHA
    cf7a59f View commit details
    Browse the repository at this point in the history
  2. Merging r354633:

    ------------------------------------------------------------------------
    r354633 | rsmith | 2019-02-21 15:04:35 -0800 (Thu, 21 Feb 2019) | 3 lines
    
    Use _Q as MS ABI mangling for char8_t.
    
    Thanks to Yuriy Solodkyy for letting us know the mangling here.
    ------------------------------------------------------------------------
    
    llvm-svn: 364487
    tstellar committed Jun 26, 2019
    Configuration menu
    Copy the full SHA
    180a937 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2019

  1. Revert merge of r360861:

    ------------------------------------------------------------------------
    r360861 | mstorsjo | 2019-05-15 23:49:13 -0700 (Wed, 15 May 2019) | 13 lines
    
    [PPC64][libunwind] Fix r2 not properly restored
    
    This change makes each unwind step inspect the instruction at the
    return address and, if needed, read r2 from its saved location and
    modify the context appropriately.
    
    The unwind logic is able to handle both ELFv1 and ELFv2 stacks.
    
    Reported by Bug 41050
    
    Patch by Leandro Lupori!
    
    Differential Revision: https://reviews.llvm.org/D59694
    ------------------------------------------------------------------------
    
    llvm-svn: 365539
    DimitryAndric committed Jul 9, 2019
    Configuration menu
    Copy the full SHA
    635f8ff View commit details
    Browse the repository at this point in the history
  2. Merging r360861, with an additional change to also add the PPC64_OPD1

    and PPC64_OPD2 lines to the DEFINE_LIBUNWIND_PRIVATE_FUNCTION() macro,
    which was removed in r357640:
    
    ------------------------------------------------------------------------
    r360861 | mstorsjo | 2019-05-15 23:49:13 -0700 (Wed, 15 May 2019) | 13 lines
    
    [PPC64][libunwind] Fix r2 not properly restored
    
    This change makes each unwind step inspect the instruction at the
    return address and, if needed, read r2 from its saved location and
    modify the context appropriately.
    
    The unwind logic is able to handle both ELFv1 and ELFv2 stacks.
    
    Reported by Bug 41050
    
    Patch by Leandro Lupori!
    
    Differential Revision: https://reviews.llvm.org/D59694
    ------------------------------------------------------------------------
    
    llvm-svn: 365542
    DimitryAndric committed Jul 9, 2019
    Configuration menu
    Copy the full SHA
    19a71f6 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2019

  1. [bindings/go] Add ParseIR

    This commit adds a single method to the Context object to parse a
    textual IR file. This is useful for reading input IR in unit tests.
    
    Differential Revision: https://reviews.llvm.org/D66379
    
    llvm-svn: 369210
    aykevl committed Aug 18, 2019
    Configuration menu
    Copy the full SHA
    465f4e2 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2019

  1. Revert r369210 which got committed to the branch by mistake

    llvm-svn: 369350
    zmodem committed Aug 20, 2019
    Configuration menu
    Copy the full SHA
    89de0d8 View commit details
    Browse the repository at this point in the history