Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 1 | ====================== |
Hans Wennborg | 469822e | 2016-01-13 17:32:32 +0000 | [diff] [blame] | 2 | LLVM 3.9 Release Notes |
Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 3 | ====================== |
| 4 | |
| 5 | .. contents:: |
| 6 | :local: |
| 7 | |
Sean Silva | 1eab30d | 2013-01-20 03:29:50 +0000 | [diff] [blame] | 8 | .. warning:: |
Hans Wennborg | 469822e | 2016-01-13 17:32:32 +0000 | [diff] [blame] | 9 | These are in-progress notes for the upcoming LLVM 3.9 release. You may |
Nico Weber | a16bc78 | 2015-09-01 21:10:56 +0000 | [diff] [blame] | 10 | prefer the `LLVM 3.7 Release Notes <http://llvm.org/releases/3.7.0/docs |
Sean Silva | 1eab30d | 2013-01-20 03:29:50 +0000 | [diff] [blame] | 11 | /ReleaseNotes.html>`_. |
Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 12 | |
Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 13 | |
| 14 | Introduction |
| 15 | ============ |
| 16 | |
| 17 | This document contains the release notes for the LLVM Compiler Infrastructure, |
Hans Wennborg | 469822e | 2016-01-13 17:32:32 +0000 | [diff] [blame] | 18 | release 3.9. Here we describe the status of LLVM, including major improvements |
Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 19 | from the previous release, improvements in various subprojects of LLVM, and |
| 20 | some of the current users of the code. All LLVM releases may be downloaded |
| 21 | from the `LLVM releases web site <http://llvm.org/releases/>`_. |
| 22 | |
| 23 | For more information about LLVM, including information about the latest |
| 24 | release, please check out the `main LLVM web site <http://llvm.org/>`_. If you |
| 25 | have questions or comments, the `LLVM Developer's Mailing List |
Tanya Lattner | 0d28f80 | 2015-08-05 03:51:17 +0000 | [diff] [blame] | 26 | <http://lists.llvm.org/mailman/listinfo/llvm-dev>`_ is a good place to send |
Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 27 | them. |
| 28 | |
| 29 | Note that if you are reading this file from a Subversion checkout or the main |
| 30 | LLVM web page, this document applies to the *next* release, not the current |
| 31 | one. To see the release notes for a specific release, please see the `releases |
| 32 | page <http://llvm.org/releases/>`_. |
| 33 | |
Sean Silva | 1eab30d | 2013-01-20 03:29:50 +0000 | [diff] [blame] | 34 | Non-comprehensive list of changes in this release |
| 35 | ================================================= |
Hans Wennborg | 469822e | 2016-01-13 17:32:32 +0000 | [diff] [blame] | 36 | * .. note about autoconf build having been removed. |
Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 37 | |
Rafael Espindola | cbc31d6 | 2016-02-12 15:28:45 +0000 | [diff] [blame] | 38 | * .. note about C API functions LLVMParseBitcode, |
Hans Wennborg | aae49c1 | 2016-01-13 19:33:49 +0000 | [diff] [blame] | 39 | LLVMParseBitcodeInContext, LLVMGetBitcodeModuleInContext and |
Mehdi Amini | f71d653 | 2016-02-12 06:22:00 +0000 | [diff] [blame] | 40 | LLVMGetBitcodeModule having been removed. LLVMGetTargetMachineData has been |
| 41 | removed (use LLVMGetDataLayout instead). |
Eric Christopher | a6b9600 | 2015-12-18 01:46:52 +0000 | [diff] [blame] | 42 | |
Rafael Espindola | cbc31d6 | 2016-02-12 15:28:45 +0000 | [diff] [blame] | 43 | * The C API function LLVMLinkModules has been removed. |
| 44 | |
Amaury Sechet | 2ffde01 | 2016-02-16 00:22:02 +0000 | [diff] [blame] | 45 | * The C API function LLVMAddTargetData has been removed. |
| 46 | |
Amaury Sechet | f3549c4 | 2016-02-16 00:23:52 +0000 | [diff] [blame] | 47 | * The C API function LLVMGetDataLayout is deprecated |
| 48 | in favor of LLVMGetDataLayoutStr. |
| 49 | |
Sean Silva | 1eab30d | 2013-01-20 03:29:50 +0000 | [diff] [blame] | 50 | .. NOTE |
| 51 | For small 1-3 sentence descriptions, just add an entry at the end of |
| 52 | this list. If your description won't fit comfortably in one bullet |
| 53 | point (e.g. maybe you would like to give an example of the |
| 54 | functionality, or simply have a lot to talk about), see the `NOTE` below |
| 55 | for adding a new subsection. |
Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 56 | |
Sean Silva | 1eab30d | 2013-01-20 03:29:50 +0000 | [diff] [blame] | 57 | * ... next change ... |
Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 58 | |
Sean Silva | 1eab30d | 2013-01-20 03:29:50 +0000 | [diff] [blame] | 59 | .. NOTE |
| 60 | If you would like to document a larger change, then you can add a |
| 61 | subsection about it right here. You can copy the following boilerplate |
| 62 | and un-indent it (the indentation causes it to be inside this comment). |
Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 63 | |
Sean Silva | 1eab30d | 2013-01-20 03:29:50 +0000 | [diff] [blame] | 64 | Special New Feature |
| 65 | ------------------- |
Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 66 | |
Sean Silva | 1eab30d | 2013-01-20 03:29:50 +0000 | [diff] [blame] | 67 | Makes programs 10x faster by doing Special New Thing. |
Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 68 | |
Renato Golin | 7c9d050 | 2014-03-18 10:16:15 +0000 | [diff] [blame] | 69 | Changes to the ARM Backend |
| 70 | -------------------------- |
| 71 | |
Rafael Espindola | bd334e2 | 2014-08-22 21:57:38 +0000 | [diff] [blame] | 72 | During this release ... |
Renato Golin | 7c9d050 | 2014-03-18 10:16:15 +0000 | [diff] [blame] | 73 | |
Renato Golin | 7c9d050 | 2014-03-18 10:16:15 +0000 | [diff] [blame] | 74 | |
Daniel Sanders | a4d18fc | 2014-07-23 12:59:26 +0000 | [diff] [blame] | 75 | Changes to the MIPS Target |
| 76 | -------------------------- |
| 77 | |
Hans Wennborg | ef818c1 | 2015-01-14 18:07:30 +0000 | [diff] [blame] | 78 | During this release ... |
Daniel Sanders | 1bcd70e | 2015-01-11 10:34:52 +0000 | [diff] [blame] | 79 | |
Daniel Sanders | a4d18fc | 2014-07-23 12:59:26 +0000 | [diff] [blame] | 80 | |
Bill Schmidt | 4004989 | 2014-07-31 14:38:17 +0000 | [diff] [blame] | 81 | Changes to the PowerPC Target |
Bill Schmidt | 08616c7 | 2014-07-31 15:20:30 +0000 | [diff] [blame] | 82 | ----------------------------- |
Bill Schmidt | 4004989 | 2014-07-31 14:38:17 +0000 | [diff] [blame] | 83 | |
Hans Wennborg | ef818c1 | 2015-01-14 18:07:30 +0000 | [diff] [blame] | 84 | During this release ... |
Bill Schmidt | a2dece2 | 2015-01-12 20:46:43 +0000 | [diff] [blame] | 85 | |
Bill Schmidt | 4004989 | 2014-07-31 14:38:17 +0000 | [diff] [blame] | 86 | |
NAKAMURA Takumi | 9ec6a82 | 2015-12-21 02:37:23 +0000 | [diff] [blame] | 87 | Changes to the X86 Target |
| 88 | ----------------------------- |
| 89 | |
| 90 | During this release ... |
| 91 | |
Matt Arsenault | cee02cc | 2016-01-26 04:29:15 +0000 | [diff] [blame] | 92 | Changes to the AMDGPU Target |
| 93 | ----------------------------- |
| 94 | |
| 95 | * Mesa 11.0.x is no longer supported |
| 96 | |
NAKAMURA Takumi | 9ec6a82 | 2015-12-21 02:37:23 +0000 | [diff] [blame] | 97 | |
Peter Zotov | d113629 | 2015-01-13 09:48:02 +0000 | [diff] [blame] | 98 | Changes to the OCaml bindings |
| 99 | ----------------------------- |
| 100 | |
Hans Wennborg | ef818c1 | 2015-01-14 18:07:30 +0000 | [diff] [blame] | 101 | During this release ... |
Peter Zotov | d113629 | 2015-01-13 09:48:02 +0000 | [diff] [blame] | 102 | |
Akira Hatanaka | c8d0696 | 2016-02-17 19:35:47 +0000 | [diff] [blame] | 103 | Support for attribute 'notail' has been added |
| 104 | --------------------------------------------- |
| 105 | |
| 106 | This marker prevents optimization passes from adding 'tail' or |
| 107 | 'musttail' markers to a call. It is used to prevent tail call |
| 108 | optimization from being performed on the call. |
Rafael Espindola | 434e956 | 2015-12-16 23:16:33 +0000 | [diff] [blame] | 109 | |
Hans Wennborg | 469822e | 2016-01-13 17:32:32 +0000 | [diff] [blame] | 110 | External Open Source Projects Using LLVM 3.9 |
Pekka Jaaskelainen | b531a11 | 2013-05-03 07:37:04 +0000 | [diff] [blame] | 111 | ============================================ |
| 112 | |
| 113 | An exciting aspect of LLVM is that it is used as an enabling technology for |
| 114 | a lot of other language and tools projects. This section lists some of the |
Hans Wennborg | 469822e | 2016-01-13 17:32:32 +0000 | [diff] [blame] | 115 | projects that have already been updated to work with LLVM 3.9. |
Rafael Espindola | bd334e2 | 2014-08-22 21:57:38 +0000 | [diff] [blame] | 116 | |
| 117 | * A project |
Kai Nacke | ec6e392 | 2013-11-14 05:57:40 +0000 | [diff] [blame] | 118 | |
| 119 | |
Dmitri Gribenko | 38782b8 | 2012-12-09 23:14:26 +0000 | [diff] [blame] | 120 | Additional Information |
| 121 | ====================== |
| 122 | |
| 123 | A wide variety of additional information is available on the `LLVM web page |
| 124 | <http://llvm.org/>`_, in particular in the `documentation |
| 125 | <http://llvm.org/docs/>`_ section. The web page also contains versions of the |
| 126 | API documentation which is up-to-date with the Subversion version of the source |
| 127 | code. You can access versions of these documents specific to this release by |
| 128 | going into the ``llvm/docs/`` directory in the LLVM tree. |
| 129 | |
| 130 | If you have any questions or comments about LLVM, please feel free to contact |
| 131 | us via the `mailing lists <http://llvm.org/docs/#maillist>`_. |
| 132 | |