+ 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...
+
+ 25.1.2001 Goetz
+ After compacting of in arrays in dead_node_elimination
+ merge blocks and remove Phis with one pred.
+
+ 24.1.2001 Goetz
+ Freeing of obstack in dead_node_elimination commented in.
+ Compacting in arrays of Block and Phi nodes in dead_node_
+ elimination.
+ Some more changes...
+
+ 15.01.2001 Goetz
+ added set/get_SymConst_type_or_id in irnode.h
+ added field offset to entity in entity.h
+ added field size to type_class in type.h
+ include "gmp.h" in tv.h with "" instead <>
+
+ 12.01.2001 Goetz
+ Some changes to make the lib better portable
+
+ 29.12.2000 Goetz
+ Initialize max_node_nr in irprog.
+
+ 27.12.2000 Goetz
+ Now outputs warning if faulty type in irdump, dump_type_info.
+ Explicit string termination in irdump, vcg_open.
+
+ 20.12.2000 Goetz
+ Added external to declaration of irp.
+ Added typedef before pns and pnc_number.
+ irmode.c, init_mode(): We need to memset all new modes as
+ tarval_vrfy reads fields before they are initialized: It
+ compares to min/max when tarvals for min/max are allocated!
+
+ 18.12.2000 Goetz
+ Changed parameter of Methods in type.h and type.c from
+ class to clss. Class is a C++ keyword.
+
+ 10.12.2000 Goetz
+ Changed some testprograms to accomodate Uebprakt.
+
+ 7.9.2000 Goetz
+ Finished implementation of dump_all_types.
+ Added new testprogram inheritance_example.
+
+ 6.9.2000 Chris
+ Added seven access routines in type.[hc]:
+ get_class_n_member, get_class_n_subtype, get_class_n_supertype,
+ get_strct_n_member, add_strct_member, get_strct_member and set_strct_member.
+ Fixed the type_walk_2 for those seven routines.
+
+ 6.9.2000 Goetz
+ Added irdump routine dump_all_types.
+ Did changes to irprog, type, typewalk to achieve this.
+ typewalk needs to walk along members, sub and supertypes, this
+ is still missing! irdump then needs to output these edges.
+
+======================================================================
+==================== New version: 0.2.5 ==============================
+======================================================================
+
+ 3.9.2000 Goetz
+ Made new Version: 0.2.5
+
+ 15.8.2000 Goetz until 3.9.00
+ Separated irnode.h and many others into two files: one public
+ one private.
+ Added funcionality to extract headers for lib.
+
+ 23.8.2000 Goetz
+ type_dump also dumps irg->ent
+ if_example: corrected nr of locals
+
+ 16.8.2000 Goetz
+ irgopt: Correct copy of self pointer in start block.
+ irgopt: Correct treatment of loops: pre function in walker
+ breaks all possible loops in Phi and Block nodes.
+ irr_loop_example: wrong Return statement
+ Now I fixed all but one error: in memory_example.
+ This error showed a conceptual problem, so I wrote
+ a slightly different algorithm. This now runs for
+ all testprograms.
+ dead_node_example: cse is buggy!! merges start and the
+ following block!
+
+ 15.8.2000 Goetz
+ looking at bug in dead_node_elimination.
+ Following fixes:
+ irnode: all get_..._arr functions changed
+ ircons: new_r_Block: set matured flag.
+ ircons: new_r_SymConst: needs mode_p for linkage_ptr_info.
+ adapted call_str_example to new concepts.
+
+ 2.8.2000 Goetz
+ Implemented simpler Phi construction algorithm that constructs
+ correct code for three_cfpred_example in ircons. This algorithm
+ generates more Id nodes than the original algorithm and therefore
+ is less effective.
+ Also made some changes to optimizations of Not.
+
31.7.2000 Chris
Fixed a bug, caused by the recursive use in type.h and entity.h.
Deleted the _TYPE_TYPEDEF_ and inserted the _ENTITY_TYPEDEF_ instead.