+ 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.
+ Fixed a problem in if_while testprogram, so it now works.
+
+ 20.7.2000 Goetz
+ Fixed bug in optimize(). Returned Null instead n if
+ get_optimize() == false.
+
+ 19.7.2000 Christian
+ Added some access routines in type.[hc]. Solved a recursive definition
+ of type_class struct, entity struct and type union.
+
+ 18.7.2000 Goetz
+ Separated entity header into pure functional header and header
+ with data types.
+
+ Goetz
+ ... a bunch small changes not documented
+
+ 12.7.2000 Goetz
+ Changed output of oo_prog_example: now uses the internal list
+ of all irgs. Had to implement some of the access routines for
+ that. Also fixed a bug in irdump. Main routines did not use
+ current_ir_graph properly.
+
+ 12.7.2000 Goetz
+ Implemented some missing parts in irgopt.
+ Added field irg to entity. Only valid if entity is a method.
+ Had to resove a cyclic de[endency between irgraph.h and entity.h
+ for this.
+ Added fields sub and super to type_class for inheritance.
+ Added field main_irg to irprog.
+
+ 7.7.2000 Chris
+ Fixed some bugs in irgopt.c
+ Added some missing 'get_new_node' methods, so the new obstack contains
+ the correct nodes.
+
+ 6.7.2000 Chris
+ Renamed ir_vrfy to irn_vrfy and vrfy_graphg to irg_vrfy.
+ Solved some copy'n'paste problems. Deleted most debug-code!
+ Added comments to several files.
+
+ 6.7.2000 Goetz
+ Fixed bug in _r_ constructors for all four Div operations.
+ Fixed bug in turn_into_tuple: didn't remember the block.
+ Tested transform_node.
+
+ 5.7.2000 Goetz
+ Fixed some testprograms to new semantics of firm.
+ Added testprogram global_var_example.
+ Fixed a bug in irop: Size of Sel node was (entity *) instead of
+ sel_attr. Therefor array_heap_example aborted.
+ Also found a missing break in typewalk, case iro_Alloc.
+ Added a construct that unifies all things constructed by the lib
+ and needed to represent a program: irprog.ch
+ This contains a list of all types as well as a list of all ir graphs.
+ I added calls to initialization and constructors so that this is constructed
+ automatically. I changed firm.c, type.c, irgraph.c and ev. more.
+ Removed strange block struct and constructor from ircons.c.
+ Moved routines for automatic Phi construction from irgmod to ircons.
+ Sorted functions in ircons to reflect the different interfaces.
+ Renamed dataseg to globals to be conformant with documentation.
+ Added conservation of current_ir_graph to irgopt.c.
+ Corrected bug in Makefiles: wrong path to directory ./inlude.
+
4.7.2000 Goetz
Commented a whole bunch of stuff, e.g. in ircons.h (Procedure to construct)
We should change the naming of the Block constructor.
-
- 4.7.2000 Goetz
Removed acces routines to attr. "closed" of Block.
-
- 4.7.2000 Goetz
Removed second implementation of new_ir_node from ircons and some comments
concerned with the now resolved cyclic dependency.
Fixed some bugs in irgopt so that the compilation goes through.
+ 29.6.2000 Chris
+ Changed the irnode attribut 'visit' into 'visited'.
+ Added some access functions, like get/set_irn_visit etc.
+
+ 28.6.2000 Chris
+ Renamed some access funtion in irgraph.*.
+ Deleted two global flags (ir_visited and block_visited) from irgraph.*.
+ Added two attributes to the irgraph struct. The visited flags belongs
+ to a ir graph, not to a whole program.
+
+ 26.6.2000 Chris
+ A new optimization has been finished. The dead-node-elimination copies
+ the existing ir graph from one opstack to another. While walking the
+ graph, only the reachable nodes will be copied, so the "dead-nodes"
+ (unreachable in the controlflow) are removed.
+
+ 19.6.2000 Chris
+ Solved some problems in the 'copy_node' function. The in array was not
+ as easy as it seamed.
+
+ 16.6.2000 Chris
+ Wrote a new 'post' funtion, for future use in 'dead-node-elimination'
+ optimization, which is needed in the paramter list of 'irg_walk'.
+
+ 14.6.2000 Chris
+ Moved 'optimze_in_place_wrapper' from iropt.* tothe new files irgopt.*.
+ New functions 'local_optimze_graph' and 'dead_node_elimination' are added,
+ but not finished.
+
31.5.2000 Chris
Removed some files from the archive, after dependencies and usage are
checked: