-<li><p>The code generator now supports arbitrary precision integers.
-Types like <tt>i33</tt> have long been valid in the LLVM IR, but previously
-could only be used with the interpreter.
-Now IR using such types can be compiled to native code on all targets.
-All operations are supported if the integer is not bigger than twice the
-target machine word size.
-Simple operations like loads, stores and shifts by a constant amount are
-supported for integers of any size.
-</p></li>
-
-<!--
-Random stuff:
-
-Pure project: http://code.google.com/p/pure-lang/
-
-
-xcore backend!
-fortran on darwin!
-
-.ll parser rewrite, caret diags, better errors, less fragile (less likely to
- crash on strange things). No longer depends on flex/bison.
-GCC inliner off, llvm handles always-inline.
-cmake mature?
-x86 backend GS segment -> addr space 256 (r62980)
-nocapture
-memdep (used by GVN and memcpyopt) is faster / more aggressive.
-how to write a backend doc docs/WritingAnLLVMBackend.html
-fastisel + exception handling
-vector widening <3 x float> -> <4 x float>
-arm port improvements? arm jit encoding stuff, constant island support?
-JIT TLS support on x86-32 but not x86-64.
-mem2reg now faster on code with huge basic blocks
-stack protectors/stack canaries, -fstack-protector, controllable on a
- per-function basis with attributes.
-shufflevector is generalized to allow different shuffle mask width than its
- input vectors.
-loop optimizer improves floating point induction variables
-llvm/Analysis/DebugInfo.h classes, llvm-gcc and clang and codegen use them.
- DebugInfoBuilder gone.
-asmprinters seperate from targets for jits
-PBQP register allocator now supports register coalescing.
-JIT supports exceptions on linux/x86-64 and linux/x86-64.
-integer overflow intrinsics for [us](add/sub/mul). Supported on all targets,
- but only generates efficient code on x86.
-X86 backend now supports -disable-mmx.
-noalias attribute on return value indicates that function returns new memory
- (e.g. malloc).
-llvmc2 renamed to llvmc
-Jump threading more powerful: it is iterative, handles threading based on values
- with fully redundant and partially redundant loads.
-LSR improvements?
-ARM debug info support?
-unit test framework based on Google Test.
-
-vector shift support + X86 backend.
-x86 JIT now detects core i7 and atom, autoconfiguring itself appropriately.
-SROA is more aggressive about promoting unions.
-non-zero __builtin_return_address values on X86.
-x86-64 now uses red zone (unless -mno-red-zone option is specified).
-private linkage.
-
-llvm-gcc defaults to -fno-math-errno on all x86 targets.
-
-initial support for debug line numbers when optimization enabled, not useful in
- 2.5 but will be for 2.6.
--->
-