NEWS.md 4.77 KB
Newer Older
Matthias Braun's avatar
Matthias Braun committed
1
2
3
4
libFirm 1.21.0 (2012-11-16)
---------------------------
* Improvements of x86 backend (esp. x87 floatingpoint code)
* Improvements to sparc backend (better use of delay slots)
yb9976's avatar
yb9976 committed
5
* Improved local optimization rules (esp. conversions)
Matthias Braun's avatar
Matthias Braun committed
6
7
8
* Make compiler more deterministic
* Bugfixes

9
10
libFirm 1.20.0 (2011-12-07)
---------------------------
11

12
13
14
15
16
17
18
19
20
21
* Further improvemens to sparc backend (SPEC2000 works with softfloat)
* Tuning of x86 backend
* Software floatingpoint lowerer
* Fixed firm profiling
* New pass management allowing to specify pre-/postconditions for passes
* Remove dependency on liblpp, add support for gurobi ILP solver
* Experimental dwarf debugging support
* Code cleanups, refactoring
* Restructured API documentation
* Bugfixes (we did alot of csmith testing)
22

23
24
25
26
27
libFirm 1.19.1 (2011-05-17)
---------------------------

* Fix some set_XXX functions not being exported in the shared library

Matthias Braun's avatar
Matthias Braun committed
28
libFirm 1.19.0 (2011-03-15)
29
30
---------------------------

Matthias Braun's avatar
Matthias Braun committed
31
32
33
34
35
36
* Includes "SSA-Based Register Allocation with PBQP"
* Improved Sparc backend
* New (optimistic) fixpoint based value-range propagation/bit analysis
* Code cleanup and refactoring
* Bugfixes

Matthias Braun's avatar
Matthias Braun committed
37
libFirm 1.18.1 (2010-05-05)
38
39
---------------------------

Matthias Braun's avatar
Matthias Braun committed
40
* Fix bug where stackframe was not always setup for -fno-omit-frame-pointer
Matthias Braun's avatar
Matthias Braun committed
41
* bugfixes in Asm handling
Matthias Braun's avatar
Matthias Braun committed
42

43
44
45
libFirm 1.18.0 (2010-04-15)
---------------------------

Matthias Braun's avatar
Matthias Braun committed
46
* Includes "Preference Guided Register Assignment" algorithm
Matthias Braun's avatar
Matthias Braun committed
47
* Experimental Value Range Propagation
48
* Loop Inversion and experimental Loop Unrolling code
Matthias Braun's avatar
Matthias Braun committed
49
50
51
52
53
54
* Simplified construction interface. Most node constructors don't need graph/block arguments anymore.
* Reworked type interface. Type names are optional now. Support for additional linkage types that among others support C++ 'linkonce' semantics now.
* Small changes in constructors and node getters/setters (mostly adding 'const' to some getters)
* code cleanup, smaller improvements in API specification
* bugfixes

55
56
57
libFirm 1.17.0 (2009-05-15)
---------------------------

Matthias Braun's avatar
Matthias Braun committed
58
* bugfixes
yb9976's avatar
yb9976 committed
59
* advanced load/store optimization which hoists loads out of loops
Matthias Braun's avatar
Matthias Braun committed
60
61
62
63
* Internal restruturing: Alot of node structures are automatically generated
   from a specification file now.
* Add support for multiple calling conventions
* New experimental support for reading and writing programgraphs to disk
yb9976's avatar
yb9976 committed
64
* Support and optimizations for trampolines
Matthias Braun's avatar
Matthias Braun committed
65
66
* fix PIC support

67
68
69
libFirm 1.16.0 (2009-01-28)
---------------------------

Christoph Mallon's avatar
Christoph Mallon committed
70
* bugfixes
71
* support for builtin nodes
Christoph Mallon's avatar
Christoph Mallon committed
72

73
74
libFirm 1.15.0 (2008-12-01)
---------------------------
Matthias Braun's avatar
Matthias Braun committed
75
76
* bugfixes

77
78
79
libFirm 1.14.0 (2008-11-22)
---------------------------

yb9976's avatar
yb9976 committed
80
* Implementation of Clicks Combined Analysis/Optimizations
Matthias Braun's avatar
Matthias Braun committed
81
82
83
84
85
86
87
88
* New switch lowering code
* support for global asm statements
* improved asm support
* PIC support for Mac OS X
* New register pressure minimizing scheduler
* Improvements to spill algorithm
* fix endless loop problems
* further improve inlining heuristics
yb9976's avatar
yb9976 committed
89
* improve peephole optimizations for x86
Matthias Braun's avatar
Matthias Braun committed
90
91
* bugfixes

92
93
libFirm 1.13.0 (2008-07-31)
---------------------------
Michael Beck's avatar
Michael Beck committed
94

Michael Beck's avatar
updated    
Michael Beck committed
95
* VanDrunen's GVN-PRE fixed
Michael Beck's avatar
Michael Beck committed
96
* operator strength reduce fixed and improved
yb9976's avatar
typos    
yb9976 committed
97
* fixed 64bit code generation for some rare compare cases
Michael Beck's avatar
updated    
Michael Beck committed
98
* better tailrecursion optimization: handles x * func() and x + func()
yb9976's avatar
typos    
yb9976 committed
99
* improved inliner: better heuristics for inlining, can now inline recursive calls
Michael Beck's avatar
updated    
Michael Beck committed
100
* improved spiller
Michael Beck's avatar
updated    
Michael Beck committed
101
102
* lowering of CopyB nodes
* better memory disambiguator
Michael Beck's avatar
updated    
Michael Beck committed
103
* float->64bit conversion fixed for x87
104
* removed old verbosity level based debugging: all modules use the new debug facility
Michael Beck's avatar
updated    
Michael Beck committed
105
* Improved Confirm based optimization and conditional evaluation (using Confirm nodes)
Michael Beck's avatar
updated    
Michael Beck committed
106
* BugFixes: tail recursion, load/store optimization, lowering of structure return, conditional
Michael Beck's avatar
updated    
Michael Beck committed
107
  evaluation, removal of unused methods
Michael Beck's avatar
updated    
Michael Beck committed
108
* reduced numer of indirections for backend operation
Michael Beck's avatar
updated    
Michael Beck committed
109
* ia32 Backend: supports more CPU architectures
Michael Beck's avatar
updated    
Michael Beck committed
110
* ARM Backend: fixed frame access
Matthias Braun's avatar
Matthias Braun committed
111
* support for special segments (like constructors, destructors)
Michael Beck's avatar
Michael Beck committed
112

113
114
libFirm 1.12.1 (2008-02-18)
---------------------------
Matthias Braun's avatar
Matthias Braun committed
115
116
117
118

* bugfixes for new style initializers with bitfield types
* make lowerer look at constant initializers too

119
120
libFirm 1.12.0 (2008-02-14)
---------------------------
Matthias Braun's avatar
Matthias Braun committed
121

Matthias Braun's avatar
Matthias Braun committed
122
* dependency on libcore and libobstack dropped
Matthias Braun's avatar
Matthias Braun committed
123
124
125
126
* there's an alternative easier to use way to construct compound initializers
* bugfixes
* improved support for exceptions
* speed improvements
yb9976's avatar
yb9976 committed
127
* optimization of known libc functions
Matthias Braun's avatar
Matthias Braun committed
128

129
130
libFirm 1.11.0 (2008-11-05)
---------------------------
Matthias Braun's avatar
Matthias Braun committed
131
132
133
134
135
136

* Lots of bugfixes
* Compilation speed improved
* Completely improved and rewritten handling of x86 address mode
* Optimized Mul -> Lea,Shift,Add transformation
* 64bit operations fixed and improved
yb9976's avatar
yb9976 committed
137
138
* More local optimizations
* New backend peephole optimizations
Matthias Braun's avatar
Matthias Braun committed
139
* Explicit status flag modeling (only for x86 for now)
yb9976's avatar
yb9976 committed
140
* Improvements of Load/Store optimization and alias analysis
141
* All C benchmarks from Spec CINT2000 work now (with our edg frontend)