X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=Changes;h=e3f5bd6fdb6bd075ee47ef20199453d062a446a5;hb=da7cc0f77e63e1a39ce4dac7ba714fc3e0b409c7;hp=dcd46c9b3b4f6c4200fd1dd4c57a6d2fda60f82f;hpb=1e202a59e321d24bc7d3396c34ebdcb541048105;p=libfirm diff --git a/Changes b/Changes index dcd46c9b3..e3f5bd6fd 100644 --- a/Changes +++ b/Changes @@ -1,20 +1,165 @@ + 27.2.2001 Goetz + Moved struct from irprog.h to irprog_t.h + + 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. + 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. - - 5.7.2000 Goetz 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. - - 5.7.2000 Goetz 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. - - 5.7.2000 Goetz 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. @@ -25,15 +170,40 @@ 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: