NEWS.md 5.33 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
libFirm 1.22.0 (2015-07-31)
---------------------------
* Improved PIC support, linux/elf is now supported
* Additional local optimization rules
* Inline assembly support for sparc/amd64
* Improved load/store optimization, featuring compound value optimizations
* Improved amd64 (aka x86_64) backend (but still experimental)
* Improved arm backend (but still experimental)
* Improved inliner (can inline compound types)
* Compiletime performance improvements
* Cleanups and API simplifications
* Switch to C99 and corresponding code cleanup and simplification
* Bugfixes

Matthias Braun's avatar
Matthias Braun committed
15
16
17
18
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
19
* Improved local optimization rules (esp. conversions)
Matthias Braun's avatar
Matthias Braun committed
20
21
22
* Make compiler more deterministic
* Bugfixes

23
24
libFirm 1.20.0 (2011-12-07)
---------------------------
25

26
27
28
29
30
31
32
33
34
35
* 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)
36

37
38
39
40
41
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
42
libFirm 1.19.0 (2011-03-15)
43
44
---------------------------

Matthias Braun's avatar
Matthias Braun committed
45
46
47
48
49
50
* 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
51
libFirm 1.18.1 (2010-05-05)
52
53
---------------------------

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

57
58
59
libFirm 1.18.0 (2010-04-15)
---------------------------

Matthias Braun's avatar
Matthias Braun committed
60
* Includes "Preference Guided Register Assignment" algorithm
Matthias Braun's avatar
Matthias Braun committed
61
* Experimental Value Range Propagation
62
* Loop Inversion and experimental Loop Unrolling code
Matthias Braun's avatar
Matthias Braun committed
63
64
65
66
67
68
* 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

69
70
71
libFirm 1.17.0 (2009-05-15)
---------------------------

Matthias Braun's avatar
Matthias Braun committed
72
* bugfixes
yb9976's avatar
yb9976 committed
73
* advanced load/store optimization which hoists loads out of loops
Matthias Braun's avatar
Matthias Braun committed
74
75
76
77
* 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
78
* Support and optimizations for trampolines
Matthias Braun's avatar
Matthias Braun committed
79
80
* fix PIC support

81
82
83
libFirm 1.16.0 (2009-01-28)
---------------------------

Christoph Mallon's avatar
Christoph Mallon committed
84
* bugfixes
85
* support for builtin nodes
Christoph Mallon's avatar
Christoph Mallon committed
86

87
88
libFirm 1.15.0 (2008-12-01)
---------------------------
Matthias Braun's avatar
Matthias Braun committed
89
90
* bugfixes

91
92
93
libFirm 1.14.0 (2008-11-22)
---------------------------

yb9976's avatar
yb9976 committed
94
* Implementation of Clicks Combined Analysis/Optimizations
Matthias Braun's avatar
Matthias Braun committed
95
96
97
98
99
100
101
102
* 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
103
* improve peephole optimizations for x86
Matthias Braun's avatar
Matthias Braun committed
104
105
* bugfixes

106
107
libFirm 1.13.0 (2008-07-31)
---------------------------
Michael Beck's avatar
Michael Beck committed
108

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

127
128
libFirm 1.12.1 (2008-02-18)
---------------------------
Matthias Braun's avatar
Matthias Braun committed
129
130
131
132

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

133
134
libFirm 1.12.0 (2008-02-14)
---------------------------
Matthias Braun's avatar
Matthias Braun committed
135

Matthias Braun's avatar
Matthias Braun committed
136
* dependency on libcore and libobstack dropped
Matthias Braun's avatar
Matthias Braun committed
137
138
139
140
* there's an alternative easier to use way to construct compound initializers
* bugfixes
* improved support for exceptions
* speed improvements
yb9976's avatar
yb9976 committed
141
* optimization of known libc functions
Matthias Braun's avatar
Matthias Braun committed
142

143
144
libFirm 1.11.0 (2008-11-05)
---------------------------
Matthias Braun's avatar
Matthias Braun committed
145
146
147
148
149
150

* 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
151
152
* More local optimizations
* New backend peephole optimizations
Matthias Braun's avatar
Matthias Braun committed
153
* Explicit status flag modeling (only for x86 for now)
yb9976's avatar
yb9976 committed
154
* Improvements of Load/Store optimization and alias analysis
155
* All C benchmarks from Spec CINT2000 work now (with our edg frontend)