bepeephole: Inline be_peephole_new_node() into its only caller.
[libfirm] / NEWS.md
1 libFirm 1.21.0 (2012-11-16)
2 ---------------------------
3 * Improvements of x86 backend (esp. x87 floatingpoint code)
4 * Improvements to sparc backend (better use of delay slots)
5 * Improved local optimisation rules (esp. conversions)
6 * Make compiler more deterministic
7 * Bugfixes
8
9 libFirm 1.20.0 (2011-12-07)
10 ---------------------------
11
12 * Further improvemens to sparc backend (SPEC2000 works with softfloat)
13 * Tuning of x86 backend
14 * Software floatingpoint lowerer
15 * Fixed firm profiling
16 * New pass management allowing to specify pre-/postconditions for passes
17 * Remove dependency on liblpp, add support for gurobi ILP solver
18 * Experimental dwarf debugging support
19 * Code cleanups, refactoring
20 * Restructured API documentation
21 * Bugfixes (we did alot of csmith testing)
22
23 libFirm 1.19.1 (2011-05-17)
24 ---------------------------
25
26 * Fix some set_XXX functions not being exported in the shared library
27
28 libFirm 1.19.0 (2011-03-15)
29 ---------------------------
30
31 * Includes "SSA-Based Register Allocation with PBQP"
32 * Improved Sparc backend
33 * New (optimistic) fixpoint based value-range propagation/bit analysis
34 * Code cleanup and refactoring
35 * Bugfixes
36
37 libFirm 1.18.1 (2010-05-05)
38 ---------------------------
39
40 * Fix bug where stackframe was not always setup for -fno-omit-frame-pointer
41 * bugfixes in Asm handling
42
43 libFirm 1.18.0 (2010-04-15)
44 ---------------------------
45
46 * Includes "Preference Guided Register Assignment" algorithm
47 * Experimental Value Range Propagation
48 * Loop Inversion and experimental Loop Unrolling code
49 * Simplified construction interface. Most node constructors don't need graph/block arguments anymore.
50 * Reworked type interface. Type names are optional now. Support for additional linkage types that among others support C++ 'linkonce' semantics now.
51 * Small changes in constructors and node getters/setters (mostly adding 'const' to some getters)
52 * code cleanup, smaller improvements in API specification
53 * bugfixes
54
55 libFirm 1.17.0 (2009-05-15)
56 ---------------------------
57
58 * bugfixes
59 * advanced load/store optimisation which hoists loads out of loops
60 * Internal restruturing: Alot of node structures are automatically generated
61    from a specification file now.
62 * Add support for multiple calling conventions
63 * New experimental support for reading and writing programgraphs to disk
64 * Support and optimisations for trampolines
65 * fix PIC support
66
67 libFirm 1.16.0 (2009-01-28)
68 ---------------------------
69
70 * bugfixes
71 * support for builtin nodes
72
73 libFirm 1.15.0 (2008-12-01)
74 ---------------------------
75 * bugfixes
76
77 libFirm 1.14.0 (2008-11-22)
78 ---------------------------
79
80 * Implementation of Clicks Combined Analysis/Optimisations
81 * New switch lowering code
82 * support for global asm statements
83 * improved asm support
84 * PIC support for Mac OS X
85 * New register pressure minimizing scheduler
86 * Improvements to spill algorithm
87 * fix endless loop problems
88 * further improve inlining heuristics
89 * improve peephole optimisations for x86
90 * bugfixes
91
92 libFirm 1.13.0 (2008-07-31)
93 ---------------------------
94
95 * VanDrunen's GVN-PRE fixed
96 * operator strength reduce fixed and improved
97 * fixed 64bit code generation for some rare compare cases
98 * better tailrecursion optimization: handles x * func() and x + func()
99 * improved inliner: better heuristics for inlining, can now inline recursive calls
100 * improved spiller
101 * lowering of CopyB nodes
102 * better memory disambiguator
103 * float->64bit conversion fixed for x87
104 * removed old verbosity level based debugging: all modules use the new debug facility
105 * Improved Confirm based optimization and conditional evaluation (using Confirm nodes)
106 * BugFixes: tail recursion, load/store optimization, lowering of structure return, conditional
107   evaluation, removal of unused methods
108 * reduced numer of indirections for backend operation
109 * ia32 Backend: supports more CPU architectures
110 * ARM Backend: fixed frame access
111 * support for special segments (like constructors, destructors)
112
113 libFirm 1.12.1 (2008-02-18)
114 ---------------------------
115
116 * bugfixes for new style initializers with bitfield types
117 * make lowerer look at constant initializers too
118
119 libFirm 1.12.0 (2008-02-14)
120 ---------------------------
121
122 * dependency on libcore and libobstack dropped
123 * there's an alternative easier to use way to construct compound initializers
124 * bugfixes
125 * improved support for exceptions
126 * speed improvements
127 * optimisation of known libc functions
128
129 libFirm 1.11.0 (2008-11-05)
130 ---------------------------
131
132 * Lots of bugfixes
133 * Compilation speed improved
134 * Completely improved and rewritten handling of x86 address mode
135 * Optimized Mul -> Lea,Shift,Add transformation
136 * 64bit operations fixed and improved
137 * More local optimisations
138 * New backend peephole optimisations
139 * Explicit status flag modeling (only for x86 for now)
140 * Improvements of Load/Store optimisation and alias analysis
141 * All C benchmarks from Spec CINT2000 work now (with our edg frontend)