X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=Changes;h=1295701920d31ee8506c04d30e3f768db1ab54df;hb=abff8b3bb2f1ed2b0e4abc92b93d5ee74815305e;hp=1c94b71fb459248f6cf7223c81df874a5e5a413d;hpb=cbb5ee335095036658a7a67c039d6cb1ab5341a1;p=libfirm diff --git a/Changes b/Changes index 1c94b71fb..129570192 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,220 @@ + 19.6.2001 Goetz + Changed array bounds in type.h to ir_node*. This allows to + construct array bounds that are complex constant expressions + simpler. Further dynamic array bounds can be displayed. + Comment in ircons.c extended: undefined values in start_block. + + 7.6.2001 Goetz + ifdef'ed all uses of gmp in tv.c away. Optimizations for + mode_Z no more supported, as well as constants of that mode. + + 7.6.2001 Goetz + Dokumentation in ir_dump + Habe Routinen fuer einzelne Knoten/Kanten aus header entfernt: + Benutzen globale Variable die nicht oeffentlich zugaenglich ist. + + 28.5.2001 Goetz + We need an entity for the array elements for the Sel nodes. This + entity should be stored in the array type. Changed constructor + parameters: include array element type. Entity for elements is built + automatically now. + + 28.5.2001 Goetz + Removed bug in tv.c. + Faulty use of va_arg, became visible with new, stricter gcc 2.96. + + 23.5.2001 Goetz + Added list of member entites to union. unioned_types and delimiters + are superfluous now -- removed. + Rationale: we want to express selection of a union member as a Sel + node. for this we need to have entities. The entities contain the + unioned type and have as name the delimiters... + + 17.4.2001 Boris + Changed Makefile/MakeTargets to install headers and libraries + seperately. + + 28.3.2001 Boris + Changed Makefile and Configure scripts to produce a proper tar file + for distribution (libfirm-VERSION.tar) + Use 'make distrib' instead of 'make dist' + + 14.3.2001 Goetz + Changed implementation of tr module. With this I also changed the + interface!! Type casts are unnecessary now, but some access funcions + differ. + + +====================================================================== +==================== New version: 0.3.0 ============================== +====================================================================== + + 14.3.2001 Boris + added file TODO + + 14.3.2001 Boris + added creation of a tar archive for distribution + replaced ir/.dummy.in by ir/Makefile.in + + 13.3.2001 Goetz + Changed equivalent_node() and copy_preds() so that the end block + is not optimized away if it has no real predecessors. This fixes + the problem with the while examples. + Added while_example in Makefile + + 12.3.2001 Goetz + Fooled around with if_while_example: Why does cse make it abort? + Cse removes path to End node, Bad remains as pred of Endblock. + The block walker can't deal with this. + Made new example with only loop: while_example. + + 12.3.2001 Boris + added auto documentation in Makefiles, configure, etc + example in ir/ir/ircons.c - much must be added + creation of documentation by 'make autodoc' in architecture directory + + 5.3.2001 Boris + added lots of #ifdef HAVE_CONFIG_G #include "config.h" #endif + replaced some C++ style comments (//) by standard C comments /**/ + added autoconf stuff + worked this night: + - configure (with some features, see --help for more) + - make [depend | tags | install] + - make [run] in testprograms + did not work: + - compilation on SunOS + - make dist + - automatic call of autoconf if required + + 5.3.2001 Goetz + More colours in vcg output. + Fixed bug: cse found that start block equals it's + first successor as both have the Start block as predecessor. + This only happens for local_optimize_graph() as during construction + the Start block is not entered in the value table. + Changed implementation: irgmod: local_optimize_graph() did not + empty the hash table with the irnodes for cse. This might cause that + cse turns up with a node that seems better but was removed from the + graph in an earlier optimization phase. + Removed old #if 1 from ircons.c + Commented in call of optimization for Block nodes in irgopt.c, copy_preds(): + Optimizes blocks that had bad predecessors. + Same for Phi nodes. + + + 27.2.2001 Goetz + Moved struct from irprog.h to irprog_t.h, same for irmode.h. + Added a module deb_info in debug.h. Adapted makefile. Added example + use in iropt.h. + Removed use of debug.h in ident.c. Now debug.c|h can be moved to + /adt/. + Removed inabled code for dead node elimination in irgopt.h. + Renamed some missnamed access routines (_of_). Macros with old names + are in old_fctnames.h. + Edited makefiles to remove #* and *.flc. + + ??.2.2001 Goetz + Some minor bugfixes... + + 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.