only 7 more weeks to go.
authorChris Lattner <sabre@nondot.org>
Tue, 5 Apr 2011 21:37:08 +0000 (21:37 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 5 Apr 2011 21:37:08 +0000 (21:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128933 91177308-0d34-0410-b5e6-96231b3b80d8

docs/ReleaseNotes.html

index ac9d827e3c2f247881aae6b3ab2d6f043d68a67e..1bf36212817db07884cf538601ce45f5de48501b 100644 (file)
@@ -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 &lt;2 x i32&gt; are not iseld to mmx without emms.
+  random types like &lt;2 x i32&gt; 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 &lt; 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>
 
 <!--=========================================================================-->