R600: Implement getRecipEstimate
[oota-llvm.git] / docs / ReleaseNotes.rst
index 5f40a2c453c8714103aaad68a89838d2571ab51d..dd54d45c99c95f777451f0c327f30c0d0a7a82ff 100644 (file)
@@ -111,10 +111,11 @@ Changes to the ARM Backend
 Changes to the MIPS Target
 --------------------------
 
-During this release the MIPS target has reached a few major milestones. It has
-gained support for MIPS-II and MIPS-III, become ABI-compatible with GCC for big
-and little endian O32, N32, and N64, and we are now able to compile the Linux
-kernel for 32-bit targets.
+During this release the MIPS target has reached a few major milestones. The
+compiler has gained support for MIPS-II and MIPS-III; become ABI-compatible
+with GCC for big and little endian O32, N32, and N64; and is now able to
+compile the Linux kernel for 32-bit targets. Additionally, LLD now supports
+microMIPS for the O32 ABI on little endian targets.
 
 ABI
 ^^^
@@ -183,7 +184,51 @@ Miscellaneous
 Changes to the PowerPC Target
 -----------------------------
 
-During this release ...
+There are numerous improvements to the PowerPC target in this release:
+
+* LLVM now generates the Vector-Scalar eXtension (VSX) instructions from
+  version 2.06 of the Power ISA, for both big- and little-endian targets.
+
+* LLVM now has a POWER8 instruction scheduling description.
+
+* Address Sanitizer (ASAN) support is now fully functional.
+
+* Performance of simple atomic accesses has been greatly improved.
+
+* Atomic fences now use light-weight syncs where possible, again providing
+  significant performance benefit.
+
+* The PowerPC target now supports PIC levels (-fPIC vs. -fpic).
+
+* PPC32 SVR4 now supports small-model PIC.
+
+* There have been many smaller bug fixes and performance improvements.
+
+Changes to the OCaml bindings
+-----------------------------
+
+* The bindings now require OCaml >=4.00.0, ocamlfind,
+  ctypes >=0.3.0 <0.4 and OUnit 2 if tests are enabled.
+
+* The bindings can now be built using cmake as well as autoconf.
+
+* LLVM 3.5 has, unfortunately, shipped a broken Llvm_executionengine
+  implementation. In LLVM 3.6, the bindings now fully support MCJIT,
+  however the interface is reworked from scratch using ctypes
+  and is not backwards compatible.
+
+* Llvm_linker.Mode was removed following the changes in LLVM.
+  This breaks the interface of Llvm_linker.
+
+* All combinations of ocamlc/ocamlc -custom/ocamlopt and shared/static
+  builds of LLVM are now supported.
+
+* Absolute paths are not embedded into the OCaml libraries anymore.
+  Either OCaml >=4.02.2 must be used, which includes an rpath-like $ORIGIN
+  mechanism, or META file must be updated for out-of-tree installations;
+  see r221139.
+
+* As usual, many more functions have been exposed to OCaml.
 
 External Open Source Projects Using LLVM 3.6
 ============================================