*** empty log message ***
[libfirm] / Changes
diff --git a/Changes b/Changes
index 4dfe314..9cc6b41 100644 (file)
--- a/Changes
+++ b/Changes
+  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: