*** empty log message ***
[libfirm] / Changes
diff --git a/Changes b/Changes
index 7070690..2464ecf 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,76 @@
+  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.
+  Removed acces routines to attr. "closed" of Block.
+  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 dependences and usage are checked.
+  Removed some files from the archive, after dependencies and usage are
+  checked:
   - 'ir/common/strerror.c'
   was nowhere used;
   - 'ir/ident/xx_ident.h'
   - 'ir/tv/label.c' and
   - 'ir/tv/label.h'
   contained a numeric counter;
-  The files were included in 'tv.h' and implemented in the 'tarval struct'.
-  but this attribute was never used. the two functions 'tarval_label' and
-  'tarval_forall_labeled' were also never used. In the old fiasco compiler,
-  the label thing is used in the backend. Search for 'babil' to see the usage.
+  The files were included in 'tv.h' and implemented in 'tarval.c'. The two
+  functions 'tarval_label' and 'tarval_forall_labeled' were also never used.
+  In the old fiasco compiler, the label thing is used in the backend.
+  Search for 'babil' to see the usage.
+  Also removed the two attributes 'lab' and 'used' in the tarval struct.
 
   26.5.2000 Chris
   Moved the 'new_ir_node' constructor from ircons.* to irnode.* and fixed
   afterwards some recursive includes, so libfirm works again.
 
-*** Goetz has to complete this lines - several changes are not annotated
+  2+3.2000 Goetz
+  Did a lot of changes, which I never commented until now (4.7.00).
+
+  * Added new result to Start node: Pointer to global data segment.
+  * Extended Semantics of SymConst node to represent information for the
+    linker.
+  * Added arithmeitc nodes (Shrs, Minus ...)
+
+  Rearranged the directory structure and adjusted the makefiles.
+  The directories contain:
+  ir:       everything for the intermediate representation (better: src?)
+    /ir:    the ir itself, and standard optimizations.
+    /tv:    the target value module
+    /tr:    the type and entity representation
+    /adt:   abstract data types
+    /common:  stuff needed by all other dirs
+    /debug: debugging Unterstuetzung
+    /ident:
+  include:  external files needen as includes
+  testprograms: examples to test the lib.
+
+  The makefiles generate files with extension .d that contain the dependencies
+  between the files.
 
   15.2.2000 Goetz
   Added access routine to attribute link of irnode in irnode.ch.
 
   10.2.2000 Goetz
   Changed tests from comparing enums to comparing pointers. This is more
-  efficient and reads better.  e.g., instead get_irn_opcode == irm_And
+  efficient (is it?) and reads better.  e.g., instead get_irn_opcode == irm_And
   now get_irn_op == op_And
 
   10.2.2000 Goetz