Prepared for diff.
[libfirm] / NEWS
1 ====== libFirm 1.18.1 (1010-05-05) ======
2 * Fix bug where stackframe was not always setup for -fno-omit-frame-pointer
3 * bugfixes in Asm handling
4
5 ====== libFirm 1.18.0 (2010-04-15) ======
6 * Includes "Preference Guided Register Assignment" algorithm
7 * Experimental Value Range Propagation
8 * Loop Inversion and experimental Loop Unrolling code
9 * Simplified construction interface. Most node constructors don't need graph/block arguments anymore.
10 * Reworked type interface. Type names are optional now. Support for additional linkage types that among others support C++ 'linkonce' semantics now.
11 * Small changes in constructors and node getters/setters (mostly adding 'const' to some getters)
12 * code cleanup, smaller improvements in API specification
13 * bugfixes
14
15 ====== libFirm 1.17.0 (2009-05-15) ======
16 * bugfixes
17 * advanced load/store optimisation which hoists loads out of loops
18 * Internal restruturing: Alot of node structures are automatically generated
19    from a specification file now.
20 * Add support for multiple calling conventions
21 * New experimental support for reading and writing programgraphs to disk
22 * Support and optimisations for trampolines
23 * fix PIC support
24
25 ====== libFirm 1.16.0 (2009-01-28) ======
26 * bugfixes
27 * support for builtin nodes
28
29 ====== libFirm 1.15.0 (2008-12-01) ======
30 * bugfixes
31
32 ====== libFirm 1.14.0 (2008-11-22) ======
33 * Implementation of Clicks Combined Analysis/Optimisations
34 * New switch lowering code
35 * support for global asm statements
36 * improved asm support
37 * PIC support for Mac OS X
38 * New register pressure minimizing scheduler
39 * Improvements to spill algorithm
40 * fix endless loop problems
41 * further improve inlining heuristics
42 * improve peephole optimisations for x86
43 * bugfixes
44
45 ====== libFirm 1.13.0 (2008-07-31) ======
46
47 * VanDrunen's GVN-PRE fixed
48 * operator strength reduce fixed and improved
49 * fixed 64bit code generation for some rare compare cases
50 * better tailrecursion optimization: handles x * func() and x + func()
51 * improved inliner: better heuristics for inlining, can now inline recursive calls
52 * improved spiller
53 * lowering of CopyB nodes
54 * better memory disambiguator
55 * float->64bit conversion fixed for x87
56 * removed old verbosity level based debugging: all modules use the new debug facility
57 * Improved Confirm based optimization and conditional evaluation (using Confirm nodes)
58 * BugFixes: tail recursion, load/store optimization, lowering of structure return, conditional
59   evaluation, removal of unused methods
60 * reduced numer of indirections for backend operation
61 * ia32 Backend: supports more CPU architectures
62 * ARM Backend: fixed frame access
63 * support for special segments (like constructors, destructors)
64
65 ====== libFirm 1.12.1 (2008-02-18) ======
66
67 * bugfixes for new style initializers with bitfield types
68 * make lowerer look at constant initializers too
69
70 ====== libFirm 1.12.0 (2008-02-14) ======
71
72 * dependency on libcore and libobstack dropped
73 * there's an alternative easier to use way to construct compound initializers
74 * bugfixes
75 * improved support for exceptions
76 * speed improvements
77 * optimisation of known libc functions
78
79 ====== libFirm 1.11.0 (2008-11-05) ======
80
81 * Lots of bugfixes
82 * Compilation speed improved
83 * Completely improved and rewritten handling of x86 address mode
84 * Optimized Mul -> Lea,Shift,Add transformation
85 * 64bit operations fixed and improved
86 * More local optimisations
87 * New backend peephole optimisations
88 * Explicit status flag modeling (only for x86 for now)
89 * Improvements of Load/Store optimisation and alias analysis
90
91 -> All C benchmarks from Spec CINT2000 work now (with our edg frontend)