+ * 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.
+
+ * 23.5.2005 Goetz
+ All compound types need a flag saying whether the order of the members
+ must be conserved.
+
+ + 23.5.2001 Goetz
+ Add element_type to array constructor
+
+ + 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
+ haben keinen mode. Reicht daher intern ein Feld? Muss man
+ in get_type_mode die typen asserten, und set_mode verbieten,
+ dafuer im enum konstruktor mode mitgeben?
+
+ + 14.3.2001 Boris
+ make dist should create an archive which has the directory libfirm/
+ as top-level
+=======
14.3.2001 Boris
- make dist should create an archive which has the directory libfirm/
as top-level [DONE:28.3.2001 Boris]
*********** old stuff ***********
-
- * Problem mit endlosen Schleifen loesen.
-
- + if_while_example ergibt Segmentation Fault da Bad Vorgaenger von Endblock.
- Optimierung des end blocks geaendert.
+ + 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.
* think again about implementation of boolean expressions (0<1) && (2<3)
- * Adapt tv to operate on the new modes, adapt libfirm, e.g., remove
- strange constructors.
-
- * define Nodes for Rotate, Not, Minus, ShrA (Done.)
- Add evaluation routines to target value, extend optimization,
- verification to cover these nodes, extend irdump to cover them.
+ * Add evaluation routines for Rotate, Not, Minus, ShrA to target value,
+ extend optimization to cover these nodes.
* do we need remainder (Rem) operator?
different sign handling than Mod. How much processors???
==> viel Arbeit, nur Namenskonvention. Ev wenn target value modul
ausgetauscht.
+ + if_while_example ergibt Segmentation Fault da Bad Vorgaenger von Endblock.
+ Optimierung des end blocks geaendert.
+
+ + define Nodes for Rotate, Not, Minus, ShrA. Extend irdump, verification.
+
+ change impelmentation of type to use concept as in irnode.
Three common fields: kind, ident, mode !!! fill mode with
mode_none if applicable.