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
^^^
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
============================================