Commit Graph

114 Commits

Author SHA1 Message Date
Mehdi Amini
965030fd40 Add a FIXME note in the release notes about documenting ThinLTO
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271742 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-03 21:45:34 +00:00
Amaury Sechet
000b227286 Extract renaming from D19181
Summary: This needs to get in before anything is released concerning attribute. If the old name gets in the wild, then we are stuck with it forever. Putting it in its own diff should getting that part at least in fast.

Reviewers: Wallbraker, whitequark, joker.eph, echristo, rafael, jyknight

Subscribers: llvm-commits, joker.eph

Differential Revision: http://reviews.llvm.org/D20417

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270452 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23 16:38:25 +00:00
Justin Bogner
9ed38db20e SDAG: Rename Select->SelectImpl and repurpose Select as returning void
This is a step towards removing the rampant undefined behaviour in
SelectionDAG, which is a part of llvm.org/PR26808.

We rename SelectionDAGISel::Select to SelectImpl and update targets to
match, and then change Select to return void and consolidate the
sketchy behaviour we're trying to get away from there.

Next, we'll update backends to implement `void Select(...)` instead of
SelectImpl and eventually drop the base Select implementation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268693 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-05 23:19:08 +00:00
Chuang-Yu Cheng
9585d8910f [ppc64] Reenable sibling call optimization on ppc64 since fixed tsan library tail-call issue
print-stack-trace.cc test failure of compiler-rt has been fixed by
r266869 (http://reviews.llvm.org/D19148), so reenable sibling call
optimization on ppc64

Reviewers: nemanjai kbarton

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267527 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-26 07:38:24 +00:00
Sanjoy Das
9ef1010484 Add some release notes about the fix for PR26774
As suggested by Chandler on the review thread for D18634.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267239 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-22 22:45:23 +00:00
Amaury Sechet
7b1322cacb Add LLVMGetAttrKindID in the C API in order to facilitate migration away from LLVMAttribute
Summary:
LLVMAttribute has outlived its utility and is becoming a problem for C API users that what to use all the LLVM attributes. In order to help moving away from LLVMAttribute in a smooth manner, this diff introduce LLVMGetAttrKindIDInContext, which can be used instead of the enum values.

See D18749 for reference.

Reviewers: Wallbraker, whitequark, joker.eph, echristo, rafael

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D19081

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266842 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-20 01:02:12 +00:00
Mehdi Amini
8be7707c14 Remove every uses of getGlobalContext() in LLVM (but the C API)
At the same time, fixes InstructionsTest::CastInst unittest: yes
you can leave the IR in an invalid state and exit when you don't
destroy the context (like the global one), no longer now.

This is the first part of http://reviews.llvm.org/D19094

From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266379 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-14 21:59:01 +00:00
Ehsan Amiri
8a6b9f2987 [PPC] Added a note to release notes
A draft line added to release notes for PPC, to keep a record of changes.
This is just a draft and will be rewritten towards the end of release.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265694 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-07 16:47:35 +00:00
Hans Wennborg
f864a32c13 Change eliminateCallFramePseudoInstr() to return an iterator
This will become necessary in a subsequent change to make this method
merge adjacent stack adjustments, i.e. it might erase the previous
and/or next instruction.

It also greatly simplifies the calls to this function from Prolog-
EpilogInserter. Previously, that had a bunch of logic to resume iteration
after the call; now it just continues with the returned iterator.

Note that this changes the behaviour of PEI a little. Previously,
it attempted to re-visit the new instruction created by
eliminateCallFramePseudoInstr(). That code was added in r36625,
but I can't see any reason for it: the new instructions will obviously
not be pseudo instructions, they will not have FrameIndex operands,
and we have already accounted for the stack adjustment.

Differential Revision: http://reviews.llvm.org/D18627

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265036 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-31 18:33:38 +00:00
Elena Demikhovsky
5a15e95c59 Added 2 notes
1) Skylake and KNL support for X86
2) masked intrinsics load/store/gather/scatter

Differential Revision: http://reviews.llvm.org/D18353



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264703 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-29 06:55:56 +00:00
Mehdi Amini
0693d31138 Add an entry in the Release Notes for LLVMContext::discardValueNames()
From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263088 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-10 02:18:17 +00:00
Hans Wennborg
86b13ad31e ReleaseNotes: update 'you may prefer' link to 3.8
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263030 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 17:25:34 +00:00
Akira Hatanaka
763454153f Mention 'notail' attribute in 3.9 release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261141 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-17 19:35:47 +00:00
Amaury Sechet
89e84d7221 Deprecate LLVMGetDataLayout and replace it by LLVMGetDataLayoutStr
Summary: The name is confusing as it matche another method on the module.

Reviewers: joker.eph, Wallbraker, echristo

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D17283

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260920 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-16 00:23:52 +00:00
Amaury Sechet
d0aed13e56 Kill LLVMAddTargetData
Summary: It's red, it's dead.

Reviewers: joker.eph, Wallbraker, echristo

Subscribers: llvm-commits, axw

Differential Revision: http://reviews.llvm.org/D17282

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260919 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-16 00:22:02 +00:00
Rafael Espindola
9234391598 Delete the deprecated LLVMLinkModules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260683 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-12 15:28:45 +00:00
Mehdi Amini
0090eb9d61 C API: Remove LLVMGetDataLayout that was deprecated in 3.7
From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260657 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-12 06:22:00 +00:00
Matt Arsenault
f748e83708 AMDGPU: Note mesa version in release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258784 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-26 04:29:15 +00:00
Hans Wennborg
81124df23b Unbreak the sphinx build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257659 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-13 19:33:49 +00:00
Hans Wennborg
a07c74ea61 Update version to 3.9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257627 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-13 17:32:32 +00:00
NAKAMURA Takumi
d644801757 [Cygwin] Enable TLS as emutls.
It resolves clang selfhosting with std::once() for Cygwin.

FIXME: It may be EmulatedTLS-generic also for X86-Android.
FIXME: Pass EmulatedTLS to LLVM CodeGen from Clang with -femulated-tls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256134 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-21 02:37:23 +00:00
Rafael Espindola
9c2c05d70e Delete APIs that have been deprecated since 2010.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256107 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-19 21:42:07 +00:00
Rafael Espindola
8d184ad258 Deprecate a few C APIs.
This deprecates:
* LLVMParseBitcode
* LLVMParseBitcodeInContext
* LLVMGetBitcodeModuleInContext
* LLVMGetBitcodeModule

They are replaced with the functions with a 2 suffix which do not record
a diagnostic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256065 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-18 23:46:42 +00:00
Eric Christopher
cca8dbee4e Reorganize the C API headers to improve build times.
Type specific declarations have been moved to Type.h and error handling
routines have been moved to ErrorHandling.h. Both are included in Core.h
so nothing should change for projects directly including the headers,
but transitive dependencies may be affected.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255965 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-18 01:46:52 +00:00
Rafael Espindola
50005f6837 Drop function that are deprecated since 2010.
These functions were deprecated in r97608.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255927 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-17 21:16:12 +00:00
Rafael Espindola
d912be98f8 Change linkInModule to take a std::unique_ptr.
Passing in a std::unique_ptr should help find errors when the module
is used after being linked into another module.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255842 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-16 23:16:33 +00:00
Chris Bieneman
5d89904858 Deprecate Autoconf
As per the very positive feedback from llvm-dev (http://lists.llvm.org/pipermail/llvm-dev/2015-November/092150.html), this commit officially deprecates the LLVM autoconf-based build system.

Anyone still using it should switch to CMake.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252520 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-09 21:54:55 +00:00
Hans Wennborg
613c526225 ReleaseNotes: note the new Windows version requirement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249332 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-05 18:38:49 +00:00
Nico Weber
bb93db26e4 Make trunk release notes point to 3.7, not 3.6
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246588 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-01 21:10:56 +00:00
Tanya Lattner
377a98477d Rename all references to old mailing lists to new lists.llvm.org address.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243999 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-05 03:51:17 +00:00
Hans Wennborg
96b5986e38 ReleaseNotes.rst: Bump version to 3.8
The notes for 3.7 are on the 3.7 branch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242237 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-14 22:49:27 +00:00
Mehdi Amini
f80447fa55 Update 3.7 Release Note mentionning the non-optionality of the DataLayout
From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232677 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-18 22:01:44 +00:00
Philip Reames
315492ba12 Add a link to the new PerformanceTips docs from the 3.7 release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231349 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-05 05:11:05 +00:00
Benjamin Kramer
56f3b7f2fd Refer users looking for the release notes to 3.6.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230781 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-27 19:06:26 +00:00
Hans Wennborg
2f7ccecf4e ReleaseNotes: add notes about VS2014 Update 4 requirement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230363 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-24 20:36:40 +00:00
Hans Wennborg
a805f7edd0 ReleaseNotes.rst: bump version to 3.7
The 3.6 notes are now in the 3.6 branch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226007 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-14 18:07:30 +00:00
Daniel Sanders
102e66e83c Added a Mips lld milestone to the release notes for the 3.6 release.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225797 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13 15:17:00 +00:00
Peter Zotov
44ce0c866c Update release notes wrt OCaml bindings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225779 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13 09:48:02 +00:00
Bill Schmidt
9e3e492f03 First crack at PowerPC 3.6 release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225695 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-12 20:46:43 +00:00
Daniel Sanders
8da1635c6a Fix silly mistake in release notes for Mips.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225608 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-11 10:48:20 +00:00
Daniel Sanders
e7f28b2bb0 Added release notes for the Mips target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225607 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-11 10:34:52 +00:00
Hans Wennborg
d4ca466ed6 ReleaseNotes.rst: these are for 3.6
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225482 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09 00:21:26 +00:00
Peter Collingbourne
bb660fc192 Prologue support
Patch by Ben Gamari!

This redefines the `prefix` attribute introduced previously and
introduces a `prologue` attribute.  There are a two primary usecases
that these attributes aim to serve,

  1. Function prologue sigils

  2. Function hot-patching: Enable the user to insert `nop` operations
     at the beginning of the function which can later be safely replaced
     with a call to some instrumentation facility

  3. Runtime metadata: Allow a compiler to insert data for use by the
     runtime during execution. GHC is one example of a compiler that
     needs this functionality for its tables-next-to-code functionality.

Previously `prefix` served cases (1) and (2) quite well by allowing the user
to introduce arbitrary data at the entrypoint but before the function
body. Case (3), however, was poorly handled by this approach as it
required that prefix data was valid executable code.

Here we redefine the notion of prefix data to instead be data which
occurs immediately before the function entrypoint (i.e. the symbol
address). Since prefix data now occurs before the function entrypoint,
there is no need for the data to be valid code.

The previous notion of prefix data now goes under the name "prologue
data" to emphasize its duality with the function epilogue.

The intention here is to handle cases (1) and (2) with prologue data and
case (3) with prefix data.

References
----------

This idea arose out of discussions[1] with Reid Kleckner in response to a
proposal to introduce the notion of symbol offsets to enable handling of
case (3).

[1] http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-May/073235.html

Test Plan: testsuite

Differential Revision: http://reviews.llvm.org/D6454

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223189 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-03 02:08:38 +00:00
Peter Collingbourne
394be6c159 LTO: introduce object file-based on-disk module format.
This format is simply a regular object file with the bitcode stored in a
section named ".llvmbc", plus any number of other (non-allocated) sections.

One immediate use case for this is to accommodate compilation processes
which expect the object file to contain metadata in non-allocated sections,
such as the ".go_export" section used by some Go compilers [1], although I
imagine that in the future we could consider compiling parts of the module
(such as large non-inlinable functions) directly into the object file to
improve LTO efficiency.

[1] http://golang.org/doc/install/gccgo#Imports

Differential Revision: http://reviews.llvm.org/D4371

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218078 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-18 21:28:49 +00:00
Nico Weber
a696808928 Fix link to 3.5 release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217164 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-04 15:26:10 +00:00
Rafael Espindola
6cae39f284 Add a note about AuroraUX to the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216938 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-02 19:49:39 +00:00
Rafael Espindola
e5e847a500 Clear the llvm release notes to make room for 3.6.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216292 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-22 21:57:38 +00:00
Bill Schmidt
8d6cf4ddd3 Clarify in PowerPC release notes that 32-bit PIC support is incomplete.
As requested, changing this wording slightly.

Thanks,
Bill

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214430 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-31 20:04:51 +00:00
Bill Schmidt
b74ca14f1c Wrong heading level for PowerPC changes in release notes
Oops.  Used the wrong heading level by mistake.

Thanks,
Bill

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214405 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-31 15:20:30 +00:00
Bill Schmidt
40b4bf53c9 Release Notes: Overriding PPC64 and PPC64LE ABI defaults is not yet supported.
I wrongly included a description of a patch that came in after 3.5 branched
and has not been backported.

Thanks,
Bill

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214404 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-31 15:17:33 +00:00