+ 29.8.2001 Goetz
+ Added routine to free irgraphs.
+
+ 17.7.2001 Goetz
+ Improved add routines to sub, supertype in type.c
+
+ 12.r7.2001 Goetz
+ Added implementation of overwrites stuff.
+
+ 11.7.2001 Goetz
+ Implemented stuff to change the type graph. See
+ typegmod.h and tpop.h for basic documentation of the change.
+ There now exists a type of kind type_id. If this appears
+ externally this is a bug.
+
+ 9.7.2001 Goetz
+ Added some new access routines to types.
+ List of overwritten fields for entities.
+ Removed a bug in irnode.
+
+ 4.7.2001 Goetz
+ Added a routine to set the mangled entity name.
+ Added two routines to copy entites.
+
+ 3.7.2001 Goetz
+ Entities now have two more flags, for visibility and allocation mode.
+ Types that have a layout have a flag indicating whether the layout is
+ fixed.
+
+ 25.6.2001 Goetz
+ We distinguish three kinds of Cond nodes. These can be distinguished
+ by the mode of the selector operand and an internal flag of type cond_kind.
+ First we distinguish binary Conds and switch Conds.
+ A binary Cond has as selector a boolean value. Proj(0) projects the control
+ flow for case "False", Proj(1) the control flow for "True". A binary Cond
+ is recognized by the boolean selector.
+ The switch Cond has as selector an unsigned integer. It produces as result
+ an n+1 Tuple (cf0, ... , cfn) of control flows.
+ We differ two flavours of this Cond. The first, the dense Cond, passes
+ control along output i if the selector value is i, 0 <= i <= n. If the
+ selector value is >n it passes control along output n.
+ The second Cond flavor differes in the treatment of cases not specified in
+ the source program. It magically knows about the existence of Proj nodes.
+ It only passes control along output i, 0 <= i <= n, if a node Proj(Cond, i)
+ exists. Else it passes control along output n (even if this Proj does not
+ exist.) This Cond we call "fragmentary". There is a special constructor
+ new_defaultProj that automatically sets the flavor.
+ The two switch flavors are distinguished by a flag of type cond_kind.
+ Default flavor is "dense"
+
+ 20.6.2001 Goetz
+ Extended iropt, tv.
+ tv now implements Minus, Abs.
+ iropt now optimizes these and Div, Mod, Quot, DivMod.
+ Still missing: Shrs, Rot.
+ tarval_shr somtimes performs shrs, depending on the compiler/system!!
+ If the ArmRoq implementation is faulty there might appear errors.
+
+ 20.6.2001 Goetz
+ Changed ircons: If undefined values are used the Phi construction
+ inserts a constant with value tarval_bad.
+
+ 19.6.2001 Goetz
+ Changed array bounds in type.h to ir_node*. This allows to
+ construct array bounds that are complex constant expressions
+ simpler. Further dynamic array bounds can be displayed.
+ Comment in ircons.c extended: undefined values in start_block.
+
+ 7.6.2001 Goetz
+ ifdef'ed all uses of gmp in tv.c away. Optimizations for
+ mode_Z no more supported, as well as constants of that mode.
+
+ 7.6.2001 Goetz
+ Dokumentation in ir_dump
+ Habe Routinen fuer einzelne Knoten/Kanten aus header entfernt:
+ Benutzen globale Variable die nicht oeffentlich zugaenglich ist.
+
+ 28.5.2001 Goetz
+ We need an entity for the array elements for the Sel nodes. This
+ entity should be stored in the array type. Changed constructor
+ parameters: include array element type. Entity for elements is built
+ automatically now.
+
+ 28.5.2001 Goetz
+ Removed bug in tv.c.
+ Faulty use of va_arg, became visible with new, stricter gcc 2.96.
+
+ 23.5.2001 Goetz
+ Added list of member entites to union. unioned_types and delimiters
+ are superfluous now -- removed.
+ Rationale: we want to express selection of a union member as a Sel
+ node. for this we need to have entities. The entities contain the
+ unioned type and have as name the delimiters...
+
+ 17.4.2001 Boris
+ Changed Makefile/MakeTargets to install headers and libraries
+ seperately.
+
+ 28.3.2001 Boris
+ Changed Makefile and Configure scripts to produce a proper tar file
+ for distribution (libfirm-VERSION.tar)
+ Use 'make distrib' instead of 'make dist'
+
+ 14.3.2001 Goetz
+ Changed implementation of tr module. With this I also changed the
+ interface!! Type casts are unnecessary now, but some access funcions
+ differ.
+
+
+======================================================================
+==================== New version: 0.3.0 ==============================
+======================================================================
+
+ 14.3.2001 Boris
+ added file TODO
+
+ 14.3.2001 Boris
+ added creation of a tar archive for distribution
+ replaced ir/.dummy.in by ir/Makefile.in
+
+ 13.3.2001 Goetz
+ Changed equivalent_node() and copy_preds() so that the end block
+ is not optimized away if it has no real predecessors. This fixes
+ the problem with the while examples.
+ Added while_example in Makefile
+
+ 12.3.2001 Goetz
+ Fooled around with if_while_example: Why does cse make it abort?
+ Cse removes path to End node, Bad remains as pred of Endblock.
+ The block walker can't deal with this.
+ Made new example with only loop: while_example.
+
+ 12.3.2001 Boris
+ added auto documentation in Makefiles, configure, etc
+ example in ir/ir/ircons.c - much must be added
+ creation of documentation by 'make autodoc' in architecture directory
+
+ 5.3.2001 Boris
+ added lots of #ifdef HAVE_CONFIG_G #include "config.h" #endif
+ replaced some C++ style comments (//) by standard C comments /**/
+ added autoconf stuff
+ worked this night:
+ - configure (with some features, see --help for more)
+ - make [depend | tags | install]
+ - make [run] in testprograms
+ did not work:
+ - compilation on SunOS
+ - make dist
+ - automatic call of autoconf if required
+
+ 5.3.2001 Goetz
+ More colours in vcg output.
+ Fixed bug: cse found that start block equals it's
+ first successor as both have the Start block as predecessor.
+ This only happens for local_optimize_graph() as during construction
+ the Start block is not entered in the value table.
+ Changed implementation: irgmod: local_optimize_graph() did not
+ empty the hash table with the irnodes for cse. This might cause that
+ cse turns up with a node that seems better but was removed from the
+ graph in an earlier optimization phase.
+ Removed old #if 1 from ircons.c
+ Commented in call of optimization for Block nodes in irgopt.c, copy_preds():
+ Optimizes blocks that had bad predecessors.
+ Same for Phi nodes.
+
+
+ 27.2.2001 Goetz
+ Moved struct from irprog.h to irprog_t.h, same for irmode.h.
+ Added a module deb_info in debug.h. Adapted makefile. Added example
+ use in iropt.h.
+ Removed use of debug.h in ident.c. Now debug.c|h can be moved to
+ /adt/.
+ Removed inabled code for dead node elimination in irgopt.h.
+ Renamed some missnamed access routines (_of_). Macros with old names
+ are in old_fctnames.h.
+ Edited makefiles to remove #* and *.flc.
+
+ ??.2.2001 Goetz
+ Some minor bugfixes...
+