diff options
author | Chris Lattner <sabre@nondot.org> | 2011-04-05 21:37:08 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2011-04-05 21:37:08 +0000 |
commit | 0f310ee3c2a56077ce7e3adf046b13ce19e9a841 (patch) | |
tree | ad82d65fcc26ca29c557c56a39e0589dc3dff31c | |
parent | b4c2bc25439bd4a226a85e1f3d8b420c07590622 (diff) | |
download | external_llvm-0f310ee3c2a56077ce7e3adf046b13ce19e9a841.zip external_llvm-0f310ee3c2a56077ce7e3adf046b13ce19e9a841.tar.gz external_llvm-0f310ee3c2a56077ce7e3adf046b13ce19e9a841.tar.bz2 |
only 7 more weeks to go.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128933 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | docs/ReleaseNotes.html | 53 |
1 files changed, 48 insertions, 5 deletions
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index ac9d827..1bf3621 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -321,7 +321,8 @@ ELF MC support: on by default in clang. There are still known missing features for human written assembly. X86: Reimplemented all of MMX to introduce a new LLVM IR x86_mmx type. Now - random types like <2 x i32> are not iseld to mmx without emms. + random types like <2 x i32> are not iseld to mmx without emms. The + -disable-mmx flag is gone now. Some basic <a href="CodeGenerator.html#mc">internals documentation</a> for MC. @@ -330,18 +331,23 @@ MC Assembler support for .file and .loc. inline asm multiple alternative constraint support. -LoopIdiom: memset/memcpy formation +LoopIdiom: memset/memcpy formation. Build with -ffreestanding or -fno-builtin + if your memcpy is being compiled into infinite recursion. + +TargetLibraryInfo X86 support for FS/GS relative loads and stores using address space 256/257 are reliable now. ARM: New code placement pass. +unnamed_addr + PR8927 PointerTracking has been removed from mainline, moved to ClamAV. EarlyCSE pass. +LoopInstSimplify pass. - DIBuilder provides simpler interface for front ends like Clang to encode debug info in LLVM IR. - This interface hides implementation details (e.g. DIDerivedType, existence of compile unit etc..) that any front end should not know about. @@ -367,7 +373,16 @@ ARM: Improved code generation for Cortex-A8 and Cortex-A9 CPUs. Scheduler now models operand latency and pipeline forwarding. error_code + libsystem + PathV2 changes - + The system_error header from C++0x was added. + * Use if (error_code ec = function()) to check for error conditions + from functions which return it. + * error_code::message returns a human readable description of the error. + + PathV1 has been deprecated in favor of PathV2 (sorry I didn't finish + this before the release). + * No Path class, use a r-value convertible to a twine instead. + * Assumes all paths are UTF-8. + new macho-dump tool Major regalloc rewrite, not on by default for 2.9 and not advised to use it. @@ -410,15 +425,43 @@ Countless ARM microoptimizations. Speedups to various mid-level passes: GVN is much faster on functions with deep dominator trees / lots of BBs. - DomTree and DominatorFrontier are much faster to compute. + DomTree and DominatorFrontier are much faster to compute, and preserved by + more passes (so they are computed less often) new 'hotpatch' attribute: LangRef.html#fnattrs + +APInt API changes, see PR5207. + +DSE is more aggressive with stores of different types: e.g. a large store + following a small one to the same address. + +New naming rules in coding standards: CodingStandards.html#ll_naming + +LiveDebugVariables is a new pass that keeps track of debugging information for + user variables that are kept in registers in optimized builds. + +We now optimize various idioms for overflow detection into check of the flag + register on various CPUs, e.g.: + unsigned long t = a+b; + if (t < a) ... + into: + addq %rdi, %rbx + jno LBB0_2 + +X86: Much better codegen for several cases using adc/sbb instead of cmovs for + conditional increment and other idioms. + +MVT::Flag renamed to MVT::Glue + +Removed the PartialSpecialization pass, it was unmaintained and buggy. + </pre></li> </ul> -Still todo: [101129-110228] +Still todo: [110117-110228] + </div> <!--=========================================================================--> |