Chris Lattner | 49fec96 | 2001-07-14 06:04:27 +0000 | [diff] [blame] | 1 | * Rewrite the llvm parser/lexer in http://www.antlr.org when time permits. |
| 2 | They actually do C++. Imagine that. |
Chris Lattner | 05b9a7f | 2001-06-30 06:37:33 +0000 | [diff] [blame] | 3 | * Fix DCE to elminate br <c>, %L1, %L1 so that it can optimize the main of |
| 4 | fib.ll better. Currently I have to do this to get best results: |
Chris Lattner | 100efcb | 2001-07-03 05:35:04 +0000 | [diff] [blame] | 5 | as < fib.ll | opt -inline -sccp -dce -sccp -dce |dis |
Chris Lattner | 643ecd4 | 2001-09-07 16:10:35 +0000 | [diff] [blame] | 6 | * fix the constprop br <x> <dst1> <dst1> case. Must handle PHI nodes correctly |
Chris Lattner | 0305cfd | 2001-06-27 23:24:50 +0000 | [diff] [blame] | 7 | * Think about whether edge split SSA form would be useful to do. |
Chris Lattner | a4fbb1a | 2001-06-20 23:09:27 +0000 | [diff] [blame] | 8 | * The dropAllReferences code can be a noop when NDEBUG!!! |
Chris Lattner | db09262 | 2001-06-11 15:03:43 +0000 | [diff] [blame] | 9 | * pred/succ iterators on basic blocks don't handle switch statements correctly |
Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 10 | * Provide a pass that eliminates critical edges from the CFG |
Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 11 | * Need a way to attach bytecode block info at various levels of asm code. |
Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 12 | * Recognize and save comments in assembly and bytecode format |
| 13 | * Encode line number table in bytecode (like #line), optional table |
| 14 | |
| 15 | * Encode negative relative offsets in the bytecode file |
| 16 | |
| 17 | * Implement switch to switch on a constant pool array of type: |
| 18 | [{ label, int }] or [label] (lookup vs index switch) |
Chris Lattner | dc6c1f5 | 2002-06-28 22:06:39 +0000 | [diff] [blame^] | 19 | * Apparently bison has a %pure_parser option. Maybe useful for AsmParser |
Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 20 | |
Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 21 | * Implement the following derived types: |
Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 22 | * "packed format", like this: [4 x sbyte]: Packed SIMD datatype |
Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 23 | * Bytecode reader should use extensions that may or may not be linked into the |
| 24 | application to read blocks. Thus an easy way to ignore symbol table info |
| 25 | would be to not link in that reader into the app. |