change NEWS and README to markdown format
authorMatthias Braun <matze@braunis.de>
Mon, 18 Apr 2011 10:44:15 +0000 (12:44 +0200)
committerMatthias Braun <matze@braunis.de>
Mon, 18 Apr 2011 10:44:21 +0000 (12:44 +0200)
NEWS [deleted file]
NEWS.md [new file with mode: 0644]
README [deleted file]
README.md [new file with mode: 0644]

diff --git a/NEWS b/NEWS
deleted file mode 100644 (file)
index 1e4af2f..0000000
--- a/NEWS
+++ /dev/null
@@ -1,98 +0,0 @@
-====== libFirm 1.19.0 (1011-03-15) ======
-* Includes "SSA-Based Register Allocation with PBQP"
-* Improved Sparc backend
-* New (optimistic) fixpoint based value-range propagation/bit analysis
-* Code cleanup and refactoring
-* Bugfixes
-
-====== libFirm 1.18.1 (1010-05-05) ======
-* Fix bug where stackframe was not always setup for -fno-omit-frame-pointer
-* bugfixes in Asm handling
-
-====== libFirm 1.18.0 (2010-04-15) ======
-* Includes "Preference Guided Register Assignment" algorithm
-* Experimental Value Range Propagation
-* Loop Inversion and experimental Loop Unrolling code
-* 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
-
-====== libFirm 1.17.0 (2009-05-15) ======
-* bugfixes
-* advanced load/store optimisation which hoists loads out of loops
-* 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
-* Support and optimisations for trampolines
-* fix PIC support
-
-====== libFirm 1.16.0 (2009-01-28) ======
-* bugfixes
-* support for builtin nodes
-
-====== libFirm 1.15.0 (2008-12-01) ======
-* bugfixes
-
-====== libFirm 1.14.0 (2008-11-22) ======
-* Implementation of Clicks Combined Analysis/Optimisations
-* 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
-* improve peephole optimisations for x86
-* bugfixes
-
-====== libFirm 1.13.0 (2008-07-31) ======
-
-* VanDrunen's GVN-PRE fixed
-* operator strength reduce fixed and improved
-* fixed 64bit code generation for some rare compare cases
-* better tailrecursion optimization: handles x * func() and x + func()
-* improved inliner: better heuristics for inlining, can now inline recursive calls
-* improved spiller
-* lowering of CopyB nodes
-* better memory disambiguator
-* float->64bit conversion fixed for x87
-* removed old verbosity level based debugging: all modules use the new debug facility
-* Improved Confirm based optimization and conditional evaluation (using Confirm nodes)
-* BugFixes: tail recursion, load/store optimization, lowering of structure return, conditional
-  evaluation, removal of unused methods
-* reduced numer of indirections for backend operation
-* ia32 Backend: supports more CPU architectures
-* ARM Backend: fixed frame access
-* support for special segments (like constructors, destructors)
-
-====== libFirm 1.12.1 (2008-02-18) ======
-
-* bugfixes for new style initializers with bitfield types
-* make lowerer look at constant initializers too
-
-====== libFirm 1.12.0 (2008-02-14) ======
-
-* dependency on libcore and libobstack dropped
-* there's an alternative easier to use way to construct compound initializers
-* bugfixes
-* improved support for exceptions
-* speed improvements
-* optimisation of known libc functions
-
-====== libFirm 1.11.0 (2008-11-05) ======
-
-* 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
-* More local optimisations
-* New backend peephole optimisations
-* Explicit status flag modeling (only for x86 for now)
-* Improvements of Load/Store optimisation and alias analysis
-
--> All C benchmarks from Spec CINT2000 work now (with our edg frontend)
diff --git a/NEWS.md b/NEWS.md
new file mode 100644 (file)
index 0000000..5a888d7
--- /dev/null
+++ b/NEWS.md
@@ -0,0 +1,114 @@
+libFirm 1.19.0 (1011-03-15)
+---------------------------
+
+* Includes "SSA-Based Register Allocation with PBQP"
+* Improved Sparc backend
+* New (optimistic) fixpoint based value-range propagation/bit analysis
+* Code cleanup and refactoring
+* Bugfixes
+
+libFirm 1.18.1 (1010-05-05)
+---------------------------
+
+* Fix bug where stackframe was not always setup for -fno-omit-frame-pointer
+* bugfixes in Asm handling
+
+libFirm 1.18.0 (2010-04-15)
+---------------------------
+
+* Includes "Preference Guided Register Assignment" algorithm
+* Experimental Value Range Propagation
+* Loop Inversion and experimental Loop Unrolling code
+* 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
+
+libFirm 1.17.0 (2009-05-15)
+---------------------------
+
+* bugfixes
+* advanced load/store optimisation which hoists loads out of loops
+* 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
+* Support and optimisations for trampolines
+* fix PIC support
+
+libFirm 1.16.0 (2009-01-28)
+---------------------------
+
+* bugfixes
+* support for builtin nodes
+
+libFirm 1.15.0 (2008-12-01)
+---------------------------
+* bugfixes
+
+libFirm 1.14.0 (2008-11-22)
+---------------------------
+
+* Implementation of Clicks Combined Analysis/Optimisations
+* 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
+* improve peephole optimisations for x86
+* bugfixes
+
+libFirm 1.13.0 (2008-07-31)
+---------------------------
+
+* VanDrunen's GVN-PRE fixed
+* operator strength reduce fixed and improved
+* fixed 64bit code generation for some rare compare cases
+* better tailrecursion optimization: handles x * func() and x + func()
+* improved inliner: better heuristics for inlining, can now inline recursive calls
+* improved spiller
+* lowering of CopyB nodes
+* better memory disambiguator
+* float->64bit conversion fixed for x87
+* removed old verbosity level based debugging: all modules use the new debug facility
+* Improved Confirm based optimization and conditional evaluation (using Confirm nodes)
+* BugFixes: tail recursion, load/store optimization, lowering of structure return, conditional
+  evaluation, removal of unused methods
+* reduced numer of indirections for backend operation
+* ia32 Backend: supports more CPU architectures
+* ARM Backend: fixed frame access
+* support for special segments (like constructors, destructors)
+
+libFirm 1.12.1 (2008-02-18)
+---------------------------
+
+* bugfixes for new style initializers with bitfield types
+* make lowerer look at constant initializers too
+
+libFirm 1.12.0 (2008-02-14)
+---------------------------
+
+* dependency on libcore and libobstack dropped
+* there's an alternative easier to use way to construct compound initializers
+* bugfixes
+* improved support for exceptions
+* speed improvements
+* optimisation of known libc functions
+
+libFirm 1.11.0 (2008-11-05)
+---------------------------
+
+* 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
+* More local optimisations
+* New backend peephole optimisations
+* Explicit status flag modeling (only for x86 for now)
+* Improvements of Load/Store optimisation and alias analysis
+* All C benchmarks from Spec CINT2000 work now (with our edg frontend)
diff --git a/README b/README
deleted file mode 100644 (file)
index 10ca55d..0000000
--- a/README
+++ /dev/null
@@ -1,89 +0,0 @@
-                                   libFirm
-                   A graph based SSA intermediate representation
-
-Contents:
-1. Introduction
-2. Building and Installation
-3. Usage
-4. Contact
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-1. Introduction
-
-The Firm library implements the Firm intermediate representation (ir). An old
-description of Firm can be found in [TLB:99].
-
-libFirm contains algorithms for construction of the SSA form directly from the
-attributed syntax tree. A set of analyses and optimisation phases is provided.
-This version includes a complete backend for the IA32 architecture, as well as
-some unfinished backends for MIPS, ARM, PPC32.
-
-1.1. Features
-
-- works exculsively on a graph based SSA represenation up to the code emission.
-  Based on the work of C. Click and M. Trapp
-- written in portable C. Known to run on msvc 6-8 Win32, gcc on Linux, FreeBSD,
-  Cygwin
-- includes doxygen documentation
-- support for object oriented type hierarchies
-- Analyses: dominance, loop tree, execution frequency, control dependencies,
-            inter procedural call graph, rapid type, def-use, alias analysis,
-            class hierarchy analysis, ...
-- Optimisations: constant folding, local common subexpression elimination,
-                 global common subexpression elimination, code placement,
-                 operator strength reduction, scalar replacement, load/store,
-                 control flow optimisations, if-conversion, partial condition
-                 evaluation, reassociation, tail recursion elimination,
-                 inlining, procedure cloning, dead code elimination, ...
-- local common subexpression eliminiation, constant folding,
-  constant propagatation, arithmetic identities happen implicitely
-- extensive checkers
-- enhanced debugging support: breakpoints on node creation, entity creation,
-            graph dumping, visual studio debug extension
-- lowering of intrinsics, double word arithmetics, bitfields
-- backend with SSA based register allocation including several algorithms for
-  spilling and copy coalescing. Instruction and block scheduling, support for
-  ABI handling.
-- working ia32 backend with support for x87 and SSE2 floating point
-- unfinished backends for MIPS, ARM, PPC32
-
-- connections to the Edison Design Group C and java frontends available.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-2. Building and Installation
-
-These are instruction for the gcc compiler on unix variants or cygwin.
-
- 1. Change into the directory containing libfirms source
-
- 2. Create a directory named build 'mkdir build'. Change into this directory
-    and execute the configure script. 'cd build ; ../configure'
-
- 3. Type 'make' to compile the package
-
- 4. You may install libfirm as super user by typing 'make install'
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-3. Usage
-
-To generate FIRM code from a compiler frontend read the documentation
-"libFIRM: A Library for Compiler Optimization Reaserch Implementing
-Firm", UKA tech-report 2002-5. About Firm you can learn in UKA
-tech-report 1999-14.
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-4. Contact
-
-You can contact us at
-       firm@ipd.info.uni-karlsruhe.de
-
-There's a mailing list here:
-       https://lists.sourceforge.net/lists/listinfo/libfirm-user
-
-We have a bugtracker at:
-       http://pp.info.uni-karlsruhe.de/~firm/bugs
diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..04530f2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,83 @@
+libFirm -- A graph based SSA intermediate representation
+========================================================
+
+1. Introduction
+---------------
+
+The Firm library implements the Firm intermediate representation (ir). An old
+description of Firm can be found in [TLB:99].
+
+libFirm contains algorithms for construction of the SSA form directly from the
+attributed syntax tree. A set of analyses and optimisation phases is provided.
+This version includes a complete backend for the IA32 architecture, as well as
+some unfinished backends for SPARC, ARM
+
+1.1. Features
+-------------
+
+- works exculsively on a graph based SSA represenation up to the code emission.
+  Based on the work of C. Click and M. Trapp
+- written in portable C. Known to run on msvc 6-8 Win32, gcc on Linux, FreeBSD,
+  Cygwin
+- includes doxygen documentation
+- support for object oriented type hierarchies
+- Analyses: dominance, loop tree, execution frequency, control dependencies,
+            inter procedural call graph, rapid type, def-use, alias analysis,
+            class hierarchy analysis, ...
+- Optimisations: constant folding, local common subexpression elimination,
+                 global common subexpression elimination, code placement,
+                 operator strength reduction, scalar replacement, load/store,
+                 control flow optimisations, if-conversion, partial condition
+                 evaluation, reassociation, tail recursion elimination,
+                 inlining, procedure cloning, dead code elimination, ...
+- local common subexpression eliminiation, constant folding,
+  constant propagatation, arithmetic identities happen implicitely
+- extensive checkers
+- enhanced debugging support: breakpoints on node creation, entity creation,
+            graph dumping, visual studio debug extension
+- lowering of intrinsics, double word arithmetics, bitfields
+- backend with SSA based register allocation including several algorithms for
+  spilling and copy coalescing. Instruction and block scheduling, support for
+  ABI handling.
+- working ia32 backend with support for x87 and SSE2 floating point
+- unfinished backends for SPARC, ARM
+
+- connections to the Edison Design Group C and java frontends available.
+
+
+2. Building and Installation
+----------------------------
+
+Prerequisites for the build:
+
+* python (>=2.4)
+* perl
+* an ANSI C89 compiler (gcc, msvc known to work)
+
+Building on unix variants/cygwin:
+
+1. Change into the directory containing libfirms source
+2. Create a directory named build 'mkdir build'. Change into this directory
+   and execute the configure script. 'cd build ; ../configure'
+3. Type 'make' to compile the package
+4. You may install libfirm as super user by typing 'make install'
+
+3. Usage
+--------
+
+To generate FIRM code from a compiler frontend read the documentation
+"libFIRM: A Library for Compiler Optimization Reaserch Implementing
+Firm", UKA tech-report 2002-5. About Firm you can learn in UKA
+tech-report 1999-14.
+
+4. Contact
+----------
+
+You can contact us at
+       <firm@ipd.info.uni-karlsruhe.de>
+
+There's a mailing list here:
+       <https://lists.sourceforge.net/lists/listinfo/libfirm-user>
+
+We have a bugtracker at:
+       <http://pp.info.uni-karlsruhe.de/~firm/bugs>