+ 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