C++11: Beware unnecessary copies with auto
[oota-llvm.git] / docs / ReleaseNotes.rst
index ba235438ead2a3d150efeaac84c3143d394fe62a..07d4d07069b428dead36b792e901d7c951a11417 100644 (file)
@@ -1,13 +1,13 @@
 ======================
-LLVM 3.4 Release Notes
+LLVM 3.5 Release Notes
 ======================
 
 .. contents::
     :local:
 
 .. warning::
-   These are in-progress notes for the upcoming LLVM 3.4 release.  You may
-   prefer the `LLVM 3.3 Release Notes <http://llvm.org/releases/3.3/docs
+   These are in-progress notes for the upcoming LLVM 3.5 release.  You may
+   prefer the `LLVM 3.4 Release Notes <http://llvm.org/releases/3.4/docs
    /ReleaseNotes.html>`_.
 
 
@@ -15,7 +15,7 @@ Introduction
 ============
 
 This document contains the release notes for the LLVM Compiler Infrastructure,
-release 3.4.  Here we describe the status of LLVM, including major improvements
+release 3.5.  Here we describe the status of LLVM, including major improvements
 from the previous release, improvements in various subprojects of LLVM, and
 some of the current users of the code.  All LLVM releases may be downloaded
 from the `LLVM releases web site <http://llvm.org/releases/>`_.
@@ -34,6 +34,27 @@ page <http://llvm.org/releases/>`_.
 Non-comprehensive list of changes in this release
 =================================================
 
+* All backends have been changed to use the MC asm printer and support for the
+  non MC one has been removed.
+
+* The ARM back-end now has the EHABI exception handling enabled by default. Use
+  `-arm-disable-ehabi` to turn it off (both landing pads and unwind tables).
+
+* Clang can now successfully self-host itself on Linux/Sparc64 and on
+  FreeBSD/Sparc64.
+
+* LLVM now assumes the assembler supports ``.loc`` for generating debug line
+  numbers. The old support for printing the debug line info directly was only
+  used by ``llc`` and has been removed.
+
+* All inline assembly is parsed by the integrated assembler when it is enabled.
+  Previously this was only the case for object-file output. It is now the case
+  for assembly output as well. The integrated assembler can be disabled with
+  the ``-no-integrated-as`` option,
+
+* llvm-ar now handles IR files like regular object files. In particular, a
+  regular symbol table is created for symbols defined in IR files.
+
 .. NOTE
    For small 1-3 sentence descriptions, just add an entry at the end of
    this list. If your description won't fit comfortably in one bullet
@@ -41,11 +62,6 @@ Non-comprehensive list of changes in this release
    functionality, or simply have a lot to talk about), see the `NOTE` below
    for adding a new subsection.
 
-* Support for exception handling has been removed from the old JIT. Use MCJIT
-  if you need EH support.
-
-* The R600 backend is not marked experimental anymore and is built by default.
-
 * ... next change ...
 
 .. NOTE
@@ -58,13 +74,12 @@ Non-comprehensive list of changes in this release
 
    Makes programs 10x faster by doing Special New Thing.
 
-
-External Open Source Projects Using LLVM 3.4
+External Open Source Projects Using LLVM 3.5
 ============================================
 
 An exciting aspect of LLVM is that it is used as an enabling technology for
 a lot of other language and tools projects. This section lists some of the
-projects that have already been updated to work with LLVM 3.4.
+projects that have already been updated to work with LLVM 3.5.
 
 
 Additional Information