diff options
-rw-r--r-- | docs/ReleaseNotes.html | 65 |
1 files changed, 59 insertions, 6 deletions
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index d8d63c1e2d..ac9d827e3c 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -238,6 +238,7 @@ looking forward to the C++ committee finalizing the C++'0x standard.--> <!--=========================================================================--> +<!-- <div class="doc_subsection"> <a name="klee">KLEE: A Symbolic Execution Virtual Machine</a> </div> @@ -252,8 +253,7 @@ be used to verify some algorithms. </p> <p>UPDATE!</p> - -</div> +</div>--> <!-- *********************************************************************** --> @@ -299,7 +299,9 @@ in this section. <ul> <li><pre> last release for llvm-gcc -TBAA +TBAA: On by default in clang. Disable it with -fno-strict-aliasing. + Could be more aggressive for structs. + Triple::normalize is new, llvm triples are always stored in normalized form internally. Triple x86_64--mingw64 is obsoleted. Use x86_64--mingw32 instead. @@ -315,7 +317,8 @@ Much better debug info generated, particularly in optimized code situations. ARM Fast ISel -ELF MC support +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. @@ -340,16 +343,57 @@ PointerTracking has been removed from mainline, moved to ClamAV. EarlyCSE 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. + For example, + Ty = DebugFactory.CreateDerivedType(DW_TAG_volatile_type, + findRegion(TYPE_CONTEXT(type)), + StringRef(), + getOrCreateFile(main_input_filename), + 0 /*line no*/, + NodeSizeInBits(type), + NodeAlignInBits(type), + 0 /*offset */, + 0 /* flags */, + MainTy); + can be replaced by + DbgTy = DBuilder.createQualifiedType(DW_TAG_volatile_type, MainTy); + +PPC: Switched to MCInstPrinter, and MCCodeEmitter. Ready to implement support + for directly writing out mach-o object files, but noone seems interested. ARM: Improved code generation for Cortex-A8 and Cortex-A9 CPUs. Scheduler now models operand latency and pipeline forwarding. -Major regalloc rewrite, not on by default for 2.9. +error_code + libsystem + PathV2 changes + +new macho-dump tool + +Major regalloc rewrite, not on by default for 2.9 and not advised to use it. + * New basic register allocator that can be used as a safe fallback when + debugging. Enable with -regalloc=basic. + * New infrastructure for live range splitting. SplitKit can break a live + interval into smaller pieces while preserving SSA form, and SpillPlacement + can help find the best split points. This is a work in progress so the API + is changing quickly. + * The inline spiller has learned to clean up after live range splitting. It + can hoist spills out of loops, and it can eliminate redundant spills. + Rematerialization works with live range splitting. + * New greedy register allocator using live range splitting. This will be the + default register allocator in the next LLVM release, but it is not turned on + by default in 2.9. + +ARM: __builtin_prefetch turns into prefetch instructions. + MC assembler support for 3dNow! and 3DNowA instructions. +tblgen support for assembler aliases: <a + href="CodeGenerator.html#na_instparsing">MnemonicAlias and InstAlias</a> + LoopIndexSplit pass was removed, unmaintained. +include/llvm/System merged into include/llvm/Support. Win32 PE-COFF support in the MC assembler has made a lot of progress in the 2.9 timeframe, but is still not generally useful. Please see @@ -361,10 +405,19 @@ New <a href="WritingAnLLVMPass.html#RegionPass">RegionPass</a> infrastructure MicroBlaze: major updates for aggressive delay slot filler, MC-based assembly printing, assembly instruction parsing, ELF .o file emission, and MC instruction disassembler. + +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. + + +new 'hotpatch' attribute: LangRef.html#fnattrs </pre></li> </ul> -Still todo: [101025-110228] +Still todo: [101129-110228] </div> |