blob: 94fdcd9fb077f00e59a51f1e1f38f1dbb4a394c9 [file] [log] [blame]
Chris Lattner49fec962001-07-14 06:04:27 +00001* Rewrite the llvm parser/lexer in http://www.antlr.org when time permits.
2 They actually do C++. Imagine that.
Chris Lattner05b9a7f2001-06-30 06:37:33 +00003* 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 Lattner100efcb2001-07-03 05:35:04 +00005 as < fib.ll | opt -inline -sccp -dce -sccp -dce |dis
Chris Lattner643ecd42001-09-07 16:10:35 +00006* fix the constprop br <x> <dst1> <dst1> case. Must handle PHI nodes correctly
Chris Lattner0305cfd2001-06-27 23:24:50 +00007* Think about whether edge split SSA form would be useful to do.
Chris Lattnera4fbb1a2001-06-20 23:09:27 +00008* The dropAllReferences code can be a noop when NDEBUG!!!
Chris Lattnerdb092622001-06-11 15:03:43 +00009* pred/succ iterators on basic blocks don't handle switch statements correctly
Chris Lattner00950542001-06-06 20:29:01 +000010* Provide a pass that eliminates critical edges from the CFG
Chris Lattner00950542001-06-06 20:29:01 +000011* Need a way to attach bytecode block info at various levels of asm code.
Chris Lattner00950542001-06-06 20:29:01 +000012* 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 Lattnerdc6c1f52002-06-28 22:06:39 +000019* Apparently bison has a %pure_parser option. Maybe useful for AsmParser
Chris Lattner00950542001-06-06 20:29:01 +000020
Chris Lattner00950542001-06-06 20:29:01 +000021* Implement the following derived types:
Chris Lattner00950542001-06-06 20:29:01 +000022 * "packed format", like this: [4 x sbyte]: Packed SIMD datatype
Chris Lattner00950542001-06-06 20:29:01 +000023* 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.