6470 Commits

Author SHA1 Message Date
Hans Wennborg
4423e35117 ReleaseNotes: fix indent
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@297204 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-07 20:44:17 +00:00
Hans Wennborg
0443af3bc4 ReleaseNotes: fix the VS version; follow-up to r297097
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@297203 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-07 20:43:19 +00:00
Hans Wennborg
6610cdea2a Merging r297075:
------------------------------------------------------------------------
r297075 | hans | 2017-03-06 13:10:40 -0800 (Mon, 06 Mar 2017) | 1 line

Disable gvn-hoist (PR32153)
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@297165 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-07 17:36:53 +00:00
Hans Wennborg
4062393e4c ReleaseNotes: reformulate compiler version change text
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@297097 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-06 23:43:34 +00:00
Renato Golin
0075f7d9e1 [notes] adding vulcan rename to release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@297090 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-06 22:56:55 +00:00
Pekka Jaaskelainen
7cdbbe055c Added pocl and TCE to releasenotes. Both of them now work with LLVM 4.0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@296633 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-01 15:44:10 +00:00
Craig Topper
b0c5322ab5 ReleaseNotes: Add some X86 target bullets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@296587 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-01 08:04:06 +00:00
Hans Wennborg
64bb2e1f4c ReleaseNotes: mention the versioning scheme change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@296509 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-28 19:32:31 +00:00
Simon Dardis
0446fbeb78 [ReleaseNotes] Add MIPS release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@296340 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-27 13:25:42 +00:00
Hans Wennborg
605e9eeeaa RelaseNotes: tweaks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@296202 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-24 23:48:15 +00:00
Hans Wennborg
9fb511ed5c ReleaseNotes: drop empty sections
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@296200 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-24 23:38:14 +00:00
Hans Wennborg
c867e9f3c6 ReleaseNotes: drop in-progress warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@296199 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-24 23:35:53 +00:00
Hans Wennborg
292135cffd ReleaseNotes: GVNHoist; by Sepastian Pop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@295743 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-21 18:30:34 +00:00
Kai Nacke
ae68cdba9e Add external project LDC to release notes.
LDC, the LLVM-based D compiler, is already ready for LLVM 4.0.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@295367 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-16 19:35:37 +00:00
Hans Wennborg
1ce132de47 Merging r292271:
------------------------------------------------------------------------
r292271 | aaron | 2017-01-17 21:48:31 +0000 (Tue, 17 Jan 2017) | 2 lines

Silence some Sphinx diagnostics in an attempt to get the documentation builder back to green (http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/1895).
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@295344 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-16 17:59:33 +00:00
Oren Ben Simhon
1c6719e171 Added a section about Regcall and Vectorcall calling convention changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@295165 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-15 10:50:01 +00:00
Hans Wennborg
e29fccc125 ReleaseNotes: coroutines; by Gor Nishanov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@295070 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-14 17:20:43 +00:00
Hans Wennborg
ea31e441c7 ReleaseNotes: llvm-cov blurb; by Vedant Kumar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@295069 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-14 17:19:38 +00:00
Dylan McKay
8caea987ad Add release notes for the AVR backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@294803 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-10 23:13:12 +00:00
Hans Wennborg
4b92ca5f52 ReleaseNotes: ADCE; patch by David Callahan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@294797 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-10 22:42:53 +00:00
Matthias Braun
8e51737a0b ReleaseNotes.rst: Add a section about .mir testing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@294656 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-09 23:25:27 +00:00
Hans Wennborg
af391feda3 Docs: drop minor version
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@294485 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-08 17:28:49 +00:00
Hans Wennborg
9de7579e6d Release notes for ilist changes, by Duncan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@294478 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-08 17:04:11 +00:00
Diana Picus
7d61d2b0f7 Fix wrapping in ReleaseNotes.rst. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@292603 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-20 11:38:10 +00:00
Diana Picus
d6011060b1 Add some release notes for ARM and AArch64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@292602 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-20 11:34:32 +00:00
Hans Wennborg
36d5330876 Drop 'if you're using released version' warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@292263 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-17 21:27:57 +00:00
Piotr Padlewski
9f6ca5d7e6 Mention ThinLTO in ReleaseNotes
https://reviews.llvm.org/D28746



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@292079 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-15 22:33:49 +00:00
Piotr Padlewski
d7e678954e Mention invariant.group in ReleaseNotes
https://reviews.llvm.org/D28605



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@292009 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-14 10:03:14 +00:00
Hans Wennborg
93778098e8 ReleaseNotes: remove 'if you're reading on trunk' warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@291854 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-12 22:51:04 +00:00
Matt Arsenault
70dde8fbf5 LangRef: Note that calls also support fast math flags
This is already documented on the call instruction, but
not in the list of supported instructions in the fast math
flag section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291578 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-10 18:06:38 +00:00
Justin Lebar
a4679c0caf [Docs] Update docs to indicate that CUDA compilation is supported on Windows.
Subscribers: cfe-commits, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291139 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-05 16:54:28 +00:00
Anmol P. Paralkar
b1151ef50b [doc] Fix minor grammatical error in Phabricator.rst
Summary: Test commit, fix minor grammatical error in Phabricator.rst

Reviewers: delcypher

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291101 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-05 13:08:14 +00:00
Michal Gorny
a50b783ab7 [cmake] Add LLVM_ENABLE_DIA_SDK option, and expose it in LLVMConfig
Add an explicit LLVM_ENABLE_DIA_SDK option to control building support
for DIA SDK-based debugging. Control its value to match whether DIA SDK
support was found and expose it in LLVMConfig (alike LLVM_ENABLE_ZLIB).

Its value is needed for LLDB to determine whether to run tests requiring
DIA support. Currently it is obtained from llvm/Config/config.h;
however, this file is not available for standalone builds. Following
this change, LLDB will be modified to use the value from LLVMConfig.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290818 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-02 18:19:35 +00:00
Keno Fischer
e345a27f2d Reapply "[CodeGen] Fix invalid DWARF info on Win64"
This reapplies rL289013 (reverted in rL289014) with the fixes identified
in D21731. Should hopefully pass the buildbots this time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290809 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-02 03:00:19 +00:00
Florian Hahn
f4ae367c89 [doc] Clarify steps for contributors without commit access.
Summary: Update the Phabricator docs to clarify how changes are merged for contributors without commit access. 

Reviewers: delcypher, aaron.ballman

Subscribers: aaron.ballman, anmol, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290767 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-30 21:28:30 +00:00
Piotr Padlewski
35f35d388e [MemDep] Handle gep with zeros for invariant.group
Summary:
gep 0, 0 is equivalent to bitcast. LLVM canonicalizes it
to getelementptr because it make SROA can then handle it.

Simple case like

    void g(A &a) {
        z(a);
        if (glob)
            a.foo();
    }
    void testG() {
        A a;
        g(a);
    }

was not devirtualized with -fstrict-vtable-pointers because luck of
handling for gep 0 in Memory Dependence Analysis

Reviewers: dberlin, nlewycky, chandlerc

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290763 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-30 18:45:07 +00:00
Igor Laevsky
dedd623ace Fix documentation generator warnings after rL290708.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290709 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-29 15:08:57 +00:00
Igor Laevsky
f755153552 Introduce element-wise atomic memcpy intrinsic
This change adds a new intrinsic which is intended to provide memcpy functionality
with additional atomicity guarantees. Please refer to the review thread
or language reference for further details.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290708 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-29 14:31:07 +00:00
Mehdi Amini
390d667cee [doc] Add mention of the difference in optimization level between Release and RelWithDebInfo in Cmake.rst
This is surprising to many people.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290556 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-26 23:42:12 +00:00
Amjad Aboud
4e2e80b609 [DebugInfo] Added support for Checksum debug info feature.
Differential Revision: https://reviews.llvm.org/D27642

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290514 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-25 10:12:09 +00:00
Bryant Wong
8830eb8360 Test commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290501 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-24 17:26:38 +00:00
David Blaikie
b0d6793fd5 Fix missing '>' in docs (hopefully fixes bot error... )
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290187 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-20 17:43:48 +00:00
David Blaikie
bf89173855 Add some brief documentation about GDB pretty printers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290186 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-20 17:33:58 +00:00
Daniel Jasper
8de3a54f07 Revert @llvm.assume with operator bundles (r289755-r289757)
This creates non-linear behavior in the inliner (see more details in
r289755's commit thread).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290086 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-19 08:22:17 +00:00
Reid Kleckner
36850aafe2 Fix some remaining documentation references to MSVC 2013
MSVC 2015 has been the minimum supported version of VS since October.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289854 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-15 19:08:02 +00:00
Kostya Serebryany
94ab0f2699 [libFuzzer] doc update
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289849 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-15 18:47:22 +00:00
Pavel Labath
2ef2a887ad Simplify format member detection in FormatVariadic
Summary:
This replaces the format member search, which was quite complicated, with a more
direct approach to detecting whether a class should be formatted using the
format-member method. Instead we use a special type llvm::format_adapter, which
every adapter must inherit from. Then the search can be simply implemented with
the is_base_of type trait.

Aside from the simplification, I like this way more because it makes it more
explicit that you are supposed to use this type only for adapter-like
formattings, and the other approach (format_provider overloads) should be used
as a default (a mistake I made when first trying to use this library).

The only slight change in behaviour here is that now choose the format-adapter
branch even if the format member invocation will fail to compile (e.g. because it is a
non-const member function and we are passing a const adapter), whereas
previously we would have gone on to search for format_providers for the type.
However, I think that is actually a good thing, as it probably means the
programmer did something wrong.

Reviewers: zturner, inglorion

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289795 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-15 09:40:27 +00:00
Hal Finkel
fe647d2183 Make processing @llvm.assume more efficient by using operand bundles
There was an efficiency problem with how we processed @llvm.assume in
ValueTracking (and other places). The AssumptionCache tracked all of the
assumptions in a given function. In order to find assumptions relevant to
computing known bits, etc. we searched every assumption in the function. For
ValueTracking, that means that we did O(#assumes * #values) work in InstCombine
and other passes (with a constant factor that can be quite large because we'd
repeat this search at every level of recursion of the analysis).

Several of us discussed this situation at the last developers' meeting, and
this implements the discussed solution: Make the values that an assume might
affect operands of the assume itself. To avoid exposing this detail to
frontends and passes that need not worry about it, I've used the new
operand-bundle feature to add these extra call "operands" in a way that does
not affect the intrinsic's signature. I think this solution is relatively
clean. InstCombine adds these extra operands based on what ValueTracking, LVI,
etc. will need and then those passes need only search the users of the values
under consideration. This should fix the computational-complexity problem.

At this point, no passes depend on the AssumptionCache, and so I'll remove
that as a follow-up change.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289755 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-15 02:53:42 +00:00
Kostya Serebryany
68f637f244 [libFuzzer] document one more desired feature of a fuzz target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289622 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-14 01:31:21 +00:00
Peter Collingbourne
b29976c54b IR, X86: Understand !absolute_symbol metadata on global variables.
Summary:
Attaching !absolute_symbol to a global variable does two things:
1) Marks it as an absolute symbol reference.
2) Specifies the value range of that symbol's address.
Teach the X86 backend to allow absolute symbols to appear in place of
immediates by extending the relocImm and mov64imm32 matchers. Start using
relocImm in more places where it is legal.

As previously proposed on llvm-dev:
http://lists.llvm.org/pipermail/llvm-dev/2016-October/105800.html

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289087 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-08 19:01:00 +00:00