new reference: numbers of nodes larger because of new types
[libfirm] / TODO
diff --git a/TODO b/TODO
index 8dade47..c67ac8d 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,10 +1,45 @@
-  * 29.10.2002 Goetz
+  * 22.8.2003 Goetz
+    Firm const nodes should have a type.
+    In jack all nodes are typed now, except the Const nodes. Only const from
+    tarval is typed.
+
+  * 14.8.2003 Goetz
+    Diverse dynamische arrays haben ein erstes, unverwendetes element. Z.B.
+    class members.  Entfernen um Speicher zu sparen.
+    Ev. auch attribute an firm Knoten optimieren, per bitfield.
+
+  + 24.3.2003 Goetz
+    tarval requirements:
+    zu register_mode:
+    Ich haette ganz gerne
+      new_ir_mode(ident* name, int size, int alignment, mode_sort sort);
+    modecode ist der naechste frei int > maxenum.
+    Und der konstruktor sollte auch nach den zwei inits aufgerufen werden koennen.
+    was spricht dagegen?  (die zwei inits stehen in init_firm(), ein benutzer kann
+    schwer dazwischen andere methoden aufrufen.)
+
+  * 24.3.2003 Goetz
+    tarval requirements:
+    - if overflow either return no tarval or return result of overflow
+      computation.  Offer to output a warning. (configurable)
+    - Div:  configure rounding (up/down) in init_firm, remark in each Div node
+      rounding sheme, default by initializations, pass rounding sheme
+      to tarval module
+    - impelement tarval_bitpattern
+    - make routine that outputs parts < 32 bits from any tarval
+      at given position in a C type that is exactly 32 bits.
+      For this test C types for their size or use int32 in integer.h
+      (is this standard C??)
+    - add routine that outputs the position of the largest set bit.
+
+  + 29.10.2002 Goetz
     Representation of value compounds is not good, especially with
     calls.
 
-  * 29.10.2002 Goetz
+  + 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...
+    Decision: generate explicit code for it, using shifts etc.
+    No special support.
 
   * 29.10.2002 Goetz
     If parameter variables are dereferenced they must be represented
     Extend dead node elimination to update and compact this list.
     Extend inlining to inline this list.)
 
-  * 7.11.2001 Goetz
+  + 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
+  + 19.6.2001 Goetz
     What happens if undefined values are allowed?  See ircons.c,
     grep for get_irg_start_block.
 
    These nodes can be derived from Cmp nodes in conjunction with dataflow
    information.
 
- * think again about implementation of boolean expressions  (0<1) && (2<3)
+ + think again about implementation of boolean expressions  (0<1) && (2<3)
+   Cast now possible
 
* Add evaluation routines for Rotate, Not, Minus, ShrA to target value,
+ Add evaluation routines for Rotate, Not, Minus, ShrA to target value,
    extend optimization to cover these nodes.
 
  * do we need remainder (Rem) operator?