X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=TODO;h=8dade4735fb25bf106041a906c22feaa94c2864a;hb=d6b9cbe1e2cf35e970a2eedea4b2bd368e94b48b;hp=cabdd1ae0fd96b4ed0157716011d59e474c1120b;hpb=de7b3d126e4756bb3365d5a2a505c79c1d2bb5f4;p=libfirm diff --git a/TODO b/TODO index cabdd1ae0..8dade4735 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,60 @@ - * 23.5.2001 Goetz + * 29.10.2002 Goetz + Representation of value compounds is not good, especially with + calls. + + * 29.10.2002 Goetz + We can not represent bitfield members of structs in C. + A struct can have fields with n bits, n e.g. set to 3... + + * 29.10.2002 Goetz + If parameter variables are dereferenced they must be represented + by an entity in the stack frame type. We need a mechanism to + find out which fields were parameters so that the parameter + passing space on the frame can be used for the parameters. + + + 19.11.2001 Goetz + SymConst mit ident taugt nicht: Wenn man z.B. die Prozedur kennt + sollte man die entitaet der Prozedur angeben koennen. Ermoeglicht + einfachere Navigation im Callgraphen. + --> Verwende Const mit entity. + + + 13.11.2001 Goetz + Aufbau Exceptions tut nicht: + 1) mache exception handle block + 2) baue code auf, verzweige von fragile ops zu dem Handler + 3) mature exception block + --> Dann werden natuerlich die Werte am Ende der Bloecke mit den + fragile ops verwendet! Diese sind ev. nicht berechnet. Trifft + insbesondere auf memory zu ... + Loesung z.B.: + immExcBlock konstruktor. Neuer "mature" status. immExcBlocks duerfen + keine zyklen bilden. In immExcBlocks werden PhiKnoten sofort eingesetzt, + aber wie immBlock mit flexibler vorgaenger liste. add_in_edge ergaenzt + bei allen Phi Knoten dann sofort die neu bekannten Werte. Jetzt kann + genau der Status zum Zeitpunkt der Exception abgebildet werden. + + + 7.11.2001 Goetz + Model Stack frame of a method as class type as for Global type? + (Class so that methods defined within methods can be represented?) + So far local entities are added to GlobalType. + + + 7.11.2001 Goetz + Implement support for endless loops. + (Add Jump target block to a list if optimizing Cond nodes. + Extend walker to start walking at this list. + Extend dead node elimination to update and compact this list. + Extend inlining to inline this list.) + + * 7.11.2001 Goetz + Implement checking whether layout is fixed when setting corresponding + flag. See firmtut, 3.1.4. + Maybe write a checker for the type information. + + * 19.6.2001 Goetz + What happens if undefined values are allowed? See ircons.c, + grep for get_irg_start_block. + + + 23.5.2001 Goetz Does the array type contain a field with the array entity? This entity should be constructed automatically with the array type. @@ -6,10 +62,10 @@ All compound types need a flag saying whether the order of the members must be conserved. - * 23.5.2001 Goetz + + 23.5.2001 Goetz Add element_type to array constructor - * 15.3.2001 Goetz + + 15.3.2001 Goetz mode, size in type: Wann gibt es einen mode, wann die size? Kann man den mode aendern? Nicht bei prim, enum, pointer da schon irreversibel in Programmcode umgesetzt. Die anderen @@ -17,7 +73,7 @@ in get_type_mode die typen asserten, und set_mode verbieten, dafuer im enum konstruktor mode mitgeben? - * 14.3.2001 Boris + + 14.3.2001 Boris make dist should create an archive which has the directory libfirm/ as top-level ======= @@ -28,12 +84,12 @@ *********** old stuff *********** - * Problem mit endlosen Schleifen loesen. + + Problem mit endlosen Schleifen loesen. * Automatisches generieren und set_value der Argumente-projs in new_ir_graph - * Define and implement procedure-global extensions, e.g., the call graph. + + Define and implement procedure-global extensions, e.g., the call graph. * Implement Confirm node: Added by optimization to annotate dataflow edge with information as (value > 0). This improves dataflow analysis.