[llvm-commits] [llvm] r83287 - /llvm/trunk/docs/ReleaseNotes-2.6.html
Chris Lattner
sabre at nondot.org
Sun Oct 4 19:12:40 PDT 2009
Author: lattner
Date: Sun Oct 4 21:12:39 2009
New Revision: 83287
URL: http://llvm.org/viewvc/llvm-project?rev=83287&view=rev
Log:
add some completely unformated and probably incoherent notes about things
I saw while reading all the commits between the 2.5 and 2.6 release branches.
Modified:
llvm/trunk/docs/ReleaseNotes-2.6.html
Modified: llvm/trunk/docs/ReleaseNotes-2.6.html
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/ReleaseNotes-2.6.html?rev=83287&r1=83286&r2=83287&view=diff
==============================================================================
--- llvm/trunk/docs/ReleaseNotes-2.6.html (original)
+++ llvm/trunk/docs/ReleaseNotes-2.6.html Sun Oct 4 21:12:39 2009
@@ -52,24 +52,140 @@
</div>
-<!-- Unfinished features in 2.5:
- Machine LICM
+ Many new papers added to /pubs/
+ Machine LICM, hoists things like constant pool loads, loads from readonly stubs, vector constant synthesization code, etc.
Machine Sinking
- target-specific intrinsics
+ Regalloc improvements for commuting, various spiller peephole optimizations, cross-class coalescing.
+ Support for debug line numbers when optimization enabled
gold lto plugin
- pre-alloc splitter, strong phi elim
- <tt>llc -enable-value-prop</tt>, propagation of value info
- (sign/zero ext info) from one MBB to another
- debug info for optimized code
+
+ target-specific intrinsics (r63765)
+ <tt>llc -enable-value-prop</tt>, propagation of value info (sign/zero ext info) from one MBB to another
interpreter + libffi
- postalloc scheduler: anti dependence breaking, hazard recognizer?
+ LLVMContext
+ Preliminary support for addrspace 256 -> GS, 257 -> FS, known problems: CodeGenerator.html#x86_memory
-initial support for debug line numbers when optimization enabled, not useful in
- 2.5 but will be for 2.6.
+Add support for the PowerPC 64-bit SVR4 ABI.
+ NSW/NUW/exact div
+ Inbounds for GEP
+ SRoA improvements for vector unions, memset, arbitrary weird bitfield accesses etc. It now produces "strange" sized integers.
+ pre-alloc splitter??
+ Callgraph + SCCPassMgr??
+ X86: Support for softfloat modes, typically used by OS kernels.
+ MC:
+ MCSection, MCAsmInfo
+ MCInstPrinter did it make it in?
+ MCInst (X86 using it so far)
+ Rewrite of X86 GV selection logic: TargetOperand flags on ExternalSymbol, GV, etc operands.
+ Can parse and re-print out an darwin-x86 .s file.
+ TargetLoweringObjectFile, MCSectionKind
+ Verrrry early start of a macho writer.
+
+ ELF Writer? How stable?
+
+ LSR promotes int induction variables to 64-bit on 64-bit targets, major perf boost for numerical code.
+ LSR now analyzes pointer expressions (e.g. getelementptrs), not just integers.
+ Stack slot coloring for register spills (denser stack frames)
+ SelectionDAGS: New BuildVectorSDNode (r65296), and ISD::VECTOR_SHUFFLE (r69952 / PR2957)
+ New PrettyStackTrace, crashes of llvm tools should give some indication of what the compiler was doing at the time of the crash (e.g. running a pass), and print out command line arguments.
+ new linkage types linkonce_odr, weak_odr, linker_private, and available_externally.
+ Inliner reuse stack space when inlining arrays?
+
+ Regalloc hints for allocation stuff: Evan r73381/r73671. Finished/enabled?
+ API Cleanup:
+ no use of hash_set/hash_map, no more llvm::OStream
+ Use raw_ostream for everything, killed off llvm/Streams.h and DOUT
+
+ Mips now supports O32 Calling Convention
+
+ StringRef class, Twine class.
+ New BlackFin backend.
+
+ Shrink wrapping support in PEI, what is the state of it?
+
+ X86-64: better modeling of implicit zero extensions, eliminates a lot of redundant zexts
+ X86-64 TLS support for local exec and initial exec.
+ X86 - Better modeling of H registerts as subregs.
+ Getelementpr instruction now allows any integer type for array/pointer indexes.
+
+ include/llvm/Analysis/LiveValues.h => dead??
+ lib/Analysis/LoopVR.cpp ==> dead??
+ include/llvm/CodeGen/LazyLiveness.h ==> dead?
+ lib/Transforms/IPO/MergeFunctions.cpp ==> dead?
+ llvm/Analysis/PointerTracking.h ==> dead??
+ PRedSimplify -> Ask vmkit if it is still useful and for testcases.
+
+ ARM calling convention code is now tblgen generated instead of manual.
+ ARM: NEON support. neonfp for doing single precision fp with neon instead of VFP.
+ Tblgen now supports multiclass inheritance.
+ Unladen swallow as user?
+ Loop index split disabled by default?
+
+ New WeakVH and AssertingVH and CallbackVH classes.
+ New llvm/ADT/Triple class.
+ Removed the IA64 backend.
+ Profile info improvements by Andreas Neustifter.
+ PostRA scheduler improvements David Goodwin.
+
+ New MSP430 and SystemZ backends.
+ llvm-gcc now supports a new TCE target.
+ klee web page at klee.llvm.org
+ New llvm/System/Atomic.h, llvm/System/RWMutex.h for portable atomic ops, rw locks.
+ llvm_start_multithreaded: ProgrammersMAnual.html#threading
+
+ Tablegen now supports a number of new string and list operations like
+ !(subst), !(foreach), !car, !cdr, !null, !if, !cast.
+ New fadd, fsub, fmul instructions and classes.
+ New MachineVerifier pass.
+ Enabled GVN Load PRE.
+ ARM AAPCS-VFP hard float ABI is supported.
+
+ LLVM build now builds all libraries as .a files instead of some
+ libraries as relinked .o files. This requires some APIs like
+ InitializeAllTargets.h. TargetRegistry!
+
+ ARM Thumb2 support: status?
+ CBE status: not part of the release criteria.
+
+ New SourceMgr, SMLoc classes for simple parsers with caret diagnostics and #include support, (used by
+ tablegen, llvm-mc, the .ll parser, FileCheck, etc)
+ FileCheck! + CHECK-NEXT
+ New compiler-rt project.
+ New Static Single Information (SSI) construction pass (not used by anything yet, experimental).
+
+ llvm_report_error() error handling API (llvm/Support/ErrorHandling.h)
+
+ x86: Vector icmp/fcmp now work with SSE codegen.
+ X86: all global variable reference logic is now in ClassifyGlobalReference.
+ JIT support for oprofile (r75279), configure with --with-oprofile. Now we get line # and function info for JIT'd functions.
+ Mention gcc plugin.
+
+ New EngineBuilder class for creating JITs: r76276 Reid Kleckner <reid at kleckner.net>
+
+ -asm-verbose now prints location info (with -g) and loop nest info.
+ JIT now supports generating more than 16M of code.
+
+removed the BigBlock register allocator, it had bitrotted.
+Target intrinsics can now return multiple results.
+
+ SSE 4.2 support.
+ Ada bindings for LLVM IR.
+ Many extensions to the C APIs.
+
+<!-- Unfinished features in 2.6:
+ Mention gcc plugin.
+ strong phi elim
+ variable debug info for optimized code
+ postalloc scheduler: anti dependence breaking, hazard recognizer?
+ metadata
+ loop dependence analysis
-->
<!-- for announcement email:
+ Logo web page.
+ llvm devmtg
+ compiler_rt
-->
<!-- *********************************************************************** -->
More information about the llvm-commits
mailing list