Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(472)

Unified Diff: docs/ReleaseNotes.rst

Issue 183273009: Prep for merging 3.4: Undo changes from 3.3 branch (Closed) Base URL: http://git.chromium.org/native_client/pnacl-llvm.git@master
Patch Set: Retry Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « docs/LangRef.rst ('k') | include/llvm/Analysis/ScalarEvolution.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: docs/ReleaseNotes.rst
diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst
index 73b0abf6281d40930a15c10e7dba34b8ff855c6d..5c8ff2c0cf5d14f259387503bac1d4a366b50eae 100644
--- a/docs/ReleaseNotes.rst
+++ b/docs/ReleaseNotes.rst
@@ -5,6 +5,12 @@ LLVM 3.3 Release Notes
.. contents::
:local:
+.. warning::
+ These are in-progress notes for the upcoming LLVM 3.3 release. You may
+ prefer the `LLVM 3.2 Release Notes <http://llvm.org/releases/3.2/docs
+ /ReleaseNotes.html>`_.
+
+
Introduction
============
@@ -28,6 +34,13 @@ page <http://llvm.org/releases/>`_.
Non-comprehensive list of changes in this release
=================================================
+.. 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
+ point (e.g. maybe you would like to give an example of the
+ functionality, or simply have a lot to talk about), see the `NOTE` below
+ for adding a new subsection.
+
* The CellSPU port has been removed. It can still be found in older versions.
* The IR-level extended linker APIs (for example, to link bitcode files out of
@@ -57,15 +70,17 @@ Non-comprehensive list of changes in this release
examples of the new syntax. The old syntax using register classes still
works, but it will be removed in a future LLVM release.
-* MCJIT now supports exception handling. Support for it in the old jit will be
- removed in the 3.4 release.
+* ... next change ...
+
+.. NOTE
+ If you would like to document a larger change, then you can add a
+ subsection about it right here. You can copy the following boilerplate
+ and un-indent it (the indentation causes it to be inside this comment).
-* Command line options can now be grouped into categories which are shown in
- the output of ``-help``. See :ref:`grouping options into categories`.
+ Special New Feature
+ -------------------
-* The appearance of command line options in ``-help`` that are inherited by
- linking with libraries that use the LLVM Command line support library can now
- be modified at runtime. See :ref:`cl::getRegisteredOptions`.
+ Makes programs 10x faster by doing Special New Thing.
AArch64 target
--------------
@@ -84,59 +99,9 @@ GNU-style thread local storage and inline assembly.
Hexagon Target
--------------
-Removed support for legacy hexagonv2 and hexagonv3 processor architectures which
-are no longer in use. Currently supported architectures are hexagonv4 and
-hexagonv5.
-
-Mips target
---------------
-
-New features and improvements:
-
-- Clang driver
- - Support for Sourcery CodeBench Mips toolchain directories tree.
- - Support for new command line options including:
- - -mxgot/-mno-xgot
- - -EL / -EB
- - -mmicromips / -mno-micromips
- - -msingle-float / -mdouble-float
- - -mabi=32 (o32 abi) and -mabi=64 (n64 abi)
- - Previously, options such as -mips16, -mmicromips, -mdsp and -mdspr2 were
- not passed to the assembler. This issue has been fixed.
-
-- A number of changes have been made to improve the quality of DSP-ASE code
- generation.
- - Multiply and multiply-accumulate instructions can now use all four
- accumulators.
- - Instruction selection patterns have been added so that DSP instructions
- are emitted without having to use builtins.
-
-- Delay slot filler pass can now search successor blocks for instructions to
- fill delay slots (use option -disable-mips-df-succbb-search=false).
-
-PowerPC Target
---------------
-
-New features and improvements:
-
-- PowerPC now supports an assembly parser.
-- Support added for thread-local storage. 64-bit ELF subtarget only.
-- Support added for medium and large code model (-mcmodel=medium,large).
- Medium code model is now the default. 64-bit ELF subtarget only.
-- Improved register allocation (fewer reserved registers).
-- 64-bit atomic load and store are now supported.
-- Improved code generation for unaligned memory accesses of scalar types.
-- Improved performance of floating-point divide and square root
- with -ffast-math.
-- Support for predicated returns.
-- Improved code generation for comparisons.
-- Support added for inline setjmp and longjmp.
-- Support added for many instructions introduced in PowerISA 2.04, 2.05,
- and 2.06.
-- Improved spill code for vector registers.
-- Support added for -mno-altivec.
-- ABI compatibility fixes for complex parameters, 128-bit integer parameters,
- and varargs functions. 64-bit ELF subtarget only.
+- Removed support for legacy hexagonv2 and hexagonv3 processor
+ architectures which are no longer in use. Currently supported
+ architectures are hexagonv4 and hexagonv5.
Loop Vectorizer
---------------
@@ -161,149 +126,53 @@ SLP Vectorizer
--------------
LLVM now has a new SLP vectorizer. The new SLP vectorizer is not enabled by
-default but can be enabled using the clang flag ``-fslp-vectorize``. The
-BB-vectorizer can also be enabled using the command line flag
-``-fslp-vectorize-aggressive``.
+default but can be enabled using the clang flag -fslp-vectorize. The BB-vectorizer
+can also be enabled using the command line flag -fslp-vectorize-aggressive.
R600 Backend
------------
-The R600 backend was added in this release, it supports AMD GPUs (HD2XXX -
-HD7XXX). This backend is used in AMD's Open Source graphics / compute drivers
-which are developed as part of the `Mesa3D <http://www.mesa3d.org>`_ project.
-
-SystemZ/s390x Backend
----------------------
-
-LLVM and clang now support IBM's z/Architecture. At present this support
-is restricted to GNU/Linux (GNU triplet s390x-linux-gnu) and requires
-z10 or greater.
-
-
-Sub-project Status Update
-=========================
-
-In addition to the core LLVM 3.3 distribution of production-quality compiler
-infrastructure, the LLVM project includes sub-projects that use the LLVM core
-and share the same distribution license. This section provides updates on these
-sub-projects.
-
-
-DragonEgg: GCC front-ends, LLVM back-end
-----------------------------------------
-
-`DragonEgg <http://dragonegg.llvm.org/>`_ is a
-`GCC plugin <http://gcc.gnu.org/wiki/plugins>`_ that replaces GCC's optimizers
-and code generators with LLVM's. It works with gcc-4.5, 4.6, 4.7 and 4.8, can
-target the x86-32/x86-64 and ARM processor families, and has been successfully
-used on the Darwin, FreeBSD, KFreeBSD, Linux and OpenBSD platforms. It fully
-supports Ada, C, C++ and Fortran. It has partial support for Go, Java, Obj-C
-and Obj-C++. Note that gcc-4.6 is the best supported version, and that Ada in
-particular doesn't work well with gcc-4.7 and newer.
-
-The `3.3 release <http://llvm.org/apt/>`_ has the following notable changes.
-
-- supports gcc-4.8 (requires gcc-4.8.1 or newer)
-- object files can be written directly using LLVM's integrated assembler
-- produces saner debug info
-- bitfields can now contain arbitrary scalar types (useful for Ada)
-
-
-LLDB: Low Level Debugger
-------------------------
-
-`LLDB <http://lldb.llvm.org/>`_ is a ground-up implementation of a command-line
-debugger, as well as a debugger API that can be used from scripts and other
-applications. LLDB uses the following components of the LLVM core distribution
-to support the latest language features and target support:
-
-- the Clang parser for high-quality parsing of C, C++ and Objective C
-- the LLVM disassembler
-- the LLVM JIT compiler (MCJIT) for expression evaluation
-
-The `3.3 release <http://lldb.llvm.org/download.html>`_ has the following notable changes.
-
-Features now supported on Linux:
-
-- Debugging multi-threaded programs
-- Support for watchpoints
-- Process list, attach and fork
-- `vim integration <http://llvm.org/svn/llvm-project/lldb/branches/release_33/utils/vim-lldb/README>`_ for LLDB
-
-Portability:
-
-- Builds with cmake, ninja, auto-tools, clang 3.3 and gcc 4.6
-
-Linux Improvements:
-
-- Improved register support including vector registers
-- Basic debugging of i386 programs
-- Bug fixes for expression evaluation
+The R600 backend was added in this release, it supports AMD GPUs
+(HD2XXX - HD7XXX). This backend is used in AMD's Open Source
+graphics / compute drivers which are developed as part of the `Mesa3D
+<http://www.mesa3d.org>`_ project.
External Open Source Projects Using LLVM 3.3
============================================
-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
+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.3.
Portable Computing Language (pocl)
----------------------------------
-In addition to producing an easily portable open source OpenCL implementation,
-another major goal of `pocl <http://pocl.sourceforge.net/>`_ is improving
-performance portability of OpenCL programs with compiler optimizations, reducing
-the need for target-dependent manual optimizations. An important part of pocl is
-a set of LLVM passes used to statically parallelize multiple work-items with the
-kernel compiler, even in the presence of work-group barriers. This enables
-static parallelization of the fine-grained static concurrency in the work groups
-in multiple ways.
+In addition to producing an easily portable open source OpenCL
+implementation, another major goal of `pocl <http://pocl.sourceforge.net/>`_
+is improving performance portability of OpenCL programs with
+compiler optimizations, reducing the need for target-dependent manual
+optimizations. An important part of pocl is a set of LLVM passes used to
+statically parallelize multiple work-items with the kernel compiler, even in
+the presence of work-group barriers. This enables static parallelization of
+the fine-grained static concurrency in the work groups in multiple ways.
TTA-based Co-design Environment (TCE)
-------------------------------------
-`TCE <http://tce.cs.tut.fi/>`_ is a toolset for designing new processors based
-on the Transport triggered architecture (TTA). The toolset provides a complete
-co-design flow from C/C++ programs down to synthesizable VHDL/Verilog and
-parallel program binaries. Processor customization points include the register
-files, function units, supported operations, and the interconnection network.
+`TCE <http://tce.cs.tut.fi/>`_ is a toolset for designing new
+processors based on the Transport triggered architecture (TTA).
+The toolset provides a complete co-design flow from C/C++
+programs down to synthesizable VHDL/Verilog and parallel program binaries.
+Processor customization points include the register files, function units,
+supported operations, and the interconnection network.
TCE uses Clang and LLVM for C/C++/OpenCL C language support, target independent
-optimizations and also for parts of code generation. It generates new LLVM-based
-code generators "on the fly" for the designed TTA processors and loads them in
-to the compiler backend as runtime libraries to avoid per-target recompilation
-of larger parts of the compiler chain.
-
-Just-in-time Adaptive Decoder Engine (Jade)
--------------------------------------------
-
-`Jade <https://github.com/orcc/jade>`_ (Just-in-time Adaptive Decoder Engine) is
-a generic video decoder engine using LLVM for just-in-time compilation of video
-decoder configurations. Those configurations are designed by MPEG Reconfigurable
-Video Coding (RVC) committee. MPEG RVC standard is built on a stream-based
-dataflow representation of decoders. It is composed of a standard library of
-coding tools written in RVC-CAL language and a dataflow configuration --- block
-diagram --- of a decoder.
-
-Jade project is hosted as part of the Open RVC-CAL Compiler (`Orcc
-<http://orcc.sf.net>`_) and requires it to translate the RVC-CAL standard
-library of video coding tools into an LLVM assembly code.
-
-LDC - the LLVM-based D compiler
--------------------------------
-
-`D <http://dlang.org>`_ is a language with C-like syntax and static typing. It
-pragmatically combines efficiency, control, and modeling power, with safety and
-programmer productivity. D supports powerful concepts like Compile-Time Function
-Execution (CTFE) and Template Meta-Programming, provides an innovative approach
-to concurrency and offers many classical paradigms.
-
-`LDC <http://wiki.dlang.org/LDC>`_ uses the frontend from the reference compiler
-combined with LLVM as backend to produce efficient native code. LDC targets
-x86/x86_64 systems like Linux, OS X and Windows and also Linux/PPC64. Ports to
-other architectures like ARM are underway.
+optimizations and also for parts of code generation. It generates new
+LLVM-based code generators "on the fly" for the designed TTA processors and
+loads them in to the compiler backend as runtime libraries to avoid
+per-target recompilation of larger parts of the compiler chain.
Additional Information
« no previous file with comments | « docs/LangRef.rst ('k') | include/llvm/Analysis/ScalarEvolution.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698