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