X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=Changes;h=76316e545b6113afc1efcb43d98131de39b6f827;hb=b4cfa9a1793173b5ccee8fcf9debdac126109902;hp=b133a22831ca49c0aa390f0be3fb15b5b9268c6e;hpb=8d1972e94d1f793f8f8c778c9602f842dd72d8fa;p=libfirm diff --git a/Changes b/Changes index b133a2283..76316e545 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,155 @@ + 17.12.2001 Boris + Removed all obsolete Makefiles + + 10.12.2001 Goetz + Added support for constant entities. A new example program illustrates + their use. Extended dumper routines to dump constant values. + + 30.11.2001 Goetz + Extendend "comfortable" construction interface by some methods + serving as simple shortcuts. + + 30.11.2001 Goetz + Added a class type to irgs. This class type is to be used as owner + for local entities of the procedure. This are all entities allocated + for each execution of the procedure. + The class type is allocated automatically by new_ir_graph(). Access + routines to get this type are in irgraph.h. + We chose a class type as this allows to represent "inner" procedures + as, e.g., in Pascal. + Adapted array-stack-example. + + 29.11.2001 Goetz + irdump outputs nodeids instead of pointers for labels of nodes. + With a preprocessor flag in common.h this can be turned off. + + 28.11.2001 Boris + Added an Id tag to every .c and .h file + + 20.11.2001 Goetz + Changed SSA constuction for exception control flow. + If PRECISE_EXC_CONTEXT is used Phi nodes will use the values + valid when the execption operation was allocated. This increases + the memory consuption of the construction algorithm by + n_loc * #fragile_ops. + + 19.11.2001 Goetz + Added method to replace in array of a node in irnode.c/h + Added functionality to irgmod: + * collect all Phi nodes as link-list in the Blocks link field + * collect all Proj nodes as link-list in node producing the tuple. + * Seperate a Block into two + Added inlining transformation in irgopt.h + Improved output of dump_ir_block_graph. Now also dumps nodes that + don't belong to a block. + Added flag opt_unreachable_code, opt_inline. + Changed irvrfy so that it accepts nodes with Bad predecessors. + + 19.10.2001 Boris + renamed get_type_nameid to get_type_ident + + 10.9.2001 Goetz + Bugfix: dead node elimination did not replace the hash table + for cse. + + 29.8.2001 Goetz + Added routine remove_irp_irg. + Changed comment to free_ir_graph. + + 29.8.2001 Goetz + Added routine to free irgraphs. + + 17.7.2001 Goetz + Improved add routines to sub, supertype in type.c + + 12.7.2001 Goetz + Added implementation of overwrites stuff. + + 11.7.2001 Goetz + Implemented stuff to change the type graph. See + typegmod.h and tpop.h for basic documentation of the change. + There now exists a type of kind type_id. If this appears + externally this is a bug. + + 9.7.2001 Goetz + Added some new access routines to types. + List of overwritten fields for entities. + Removed a bug in irnode. + + 4.7.2001 Goetz + Added a routine to set the mangled entity name. + Added two routines to copy entites. + + 3.7.2001 Goetz + Entities now have two more flags, for visibility and allocation mode. + Types that have a layout have a flag indicating whether the layout is + fixed. + + 25.6.2001 Goetz + We distinguish three kinds of Cond nodes. These can be distinguished + by the mode of the selector operand and an internal flag of type cond_kind. + First we distinguish binary Conds and switch Conds. + A binary Cond has as selector a boolean value. Proj(0) projects the control + flow for case "False", Proj(1) the control flow for "True". A binary Cond + is recognized by the boolean selector. + The switch Cond has as selector an unsigned integer. It produces as result + an n+1 Tuple (cf0, ... , cfn) of control flows. + We differ two flavours of this Cond. The first, the dense Cond, passes + control along output i if the selector value is i, 0 <= i <= n. If the + selector value is >n it passes control along output n. + The second Cond flavor differes in the treatment of cases not specified in + the source program. It magically knows about the existence of Proj nodes. + It only passes control along output i, 0 <= i <= n, if a node Proj(Cond, i) + exists. Else it passes control along output n (even if this Proj does not + exist.) This Cond we call "fragmentary". There is a special constructor + new_defaultProj that automatically sets the flavor. + The two switch flavors are distinguished by a flag of type cond_kind. + Default flavor is "dense" + + 20.6.2001 Goetz + Extended iropt, tv. + tv now implements Minus, Abs. + iropt now optimizes these and Div, Mod, Quot, DivMod. + Still missing: Shrs, Rot. + tarval_shr somtimes performs shrs, depending on the compiler/system!! + If the ArmRoq implementation is faulty there might appear errors. + + 20.6.2001 Goetz + Changed ircons: If undefined values are used the Phi construction + inserts a constant with value tarval_bad. + + 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.