X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=TODO;h=3800901437f076b3438dc40d54d1b52c2000fd90;hb=14e0a034453bd8426ad675a5077c40aa91991e29;hp=c67ac8db45ebd3f13d4315d53fbfe9c6c44b0ddf;hpb=21cd22b177b3844bc786f3bfbb4bcbe816ec371d;p=libfirm diff --git a/TODO b/TODO index c67ac8db4..380090143 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,83 @@ + * 27.8.2004 Goetz + Classes need a flag comparable to visibility of entities. + This flag must express whether these classes are accessed from + outside, i.e., the fields must have a specific layout. + Further it should express whether the outside can allocate classes + of the type. Then we can determine whether the class can be turned + into a description class by, e.g., rta. + + * + + * 5.7.04 Goetz + in free_type: check the types that there is no pointer type that points + to the freed type. If so report error. + + + 28.6.04 MMB + Div/Mod optimization for constants produces a result that will be optimized + again and again :-( Add a flag or a clever encoding so thios does not happen + + + Goetz 10.6.04 + Error in removing dead code: + In an if condition is a loop. We optimized the if condition to Jmp/Bad, + the loop now is unreachable. It should be removed by gigo or the like. + It remains in the representation as all blocks in the loop have a + valid predecessor, i.e., walking from End we find a true loop. We need + a pass walking and marking starting at the Start node to remove this loop. + Currently scc causes an segmetation fault for this situation. + + + Goetz 10.6.04 + Error in irscc: If we have an unreachable loop, or a loop + resulting from an exiting endless recursion, irscc finds + no tail ==> issues an assertion. + + * Goetz 10.6.04 + Error in interprocedural view: Endless recursions are lost. + + * print routines for all enums! + + * Add flag whether mode is associative, float modes are not!! + + * 25.2.04 Goetz + Fix memory leak in irprog: free_ir_prog. + Fix memory leak in entity: free_entity_attrs + + * 19.12.03 Goetz + Add state management for loops (consistent, inconsistent, invalid). + + * 18.12.03 Goetz + It sucks that Call and CallBegin are different nodes. Change this!!!! + (as for Filter: Phi/Proj). + + * 8.12. Goetz + Vorgaengernummern am Looptree auf Kanten ausgeben. + + * 8.12.03 Goetz und Till + Alloc Semantik: Der Alloc Knoten koennte wissen, ob der + allozierte Speicher zu Null initialisiert ist. Dies nehmen + wir im Jack Java Compiler an, im CRS C Compiler jedoch nicht. + Ist das nicht explizit im Allok Knoten vermerkt, kann eine + Optimierung nur in Abhaengigkeit vom Frontend darauf aufbauen. + (z.B. heapanal nimmt any an, statt null.) + + * 8.9.03 Boris + Wenn man in Arrays.java in der Methode ArrObject.f() die + ersten zwei prints auskommentiert und pass_array_test die + for-Schleife durch ein i = 0, while(true).. ersetzt, stürzt der + Compiler in get_Block_idom ab; der übergebene Zeiger ist ein + NULL-Zeiger. + + * 15.9.03 Goetz + Wir haben ev. einen Fehler in scc gefunden: Matthias hat eine + Enlosrekursion a() { b(); }, b() { a(); } in Java implementiert. + Darauf ist in is_head die Assertion + assert(get_irn_uplink(pred) >= get_irn_uplink(root)); + geflogen. + + * 29.8.03 Goetz + Cast: irsimpletype: implement type analyses for one node. Test the + effort of that analyses. Add optimization to iropt that removes + Cast nodes. + * 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