blob: 94fdcd9fb077f00e59a51f1e1f38f1dbb4a394c9 [file] [log] [blame]
* Rewrite the llvm parser/lexer in http://www.antlr.org when time permits.
They actually do C++. Imagine that.
* Fix DCE to elminate br <c>, %L1, %L1 so that it can optimize the main of
fib.ll better. Currently I have to do this to get best results:
as < fib.ll | opt -inline -sccp -dce -sccp -dce |dis
* fix the constprop br <x> <dst1> <dst1> case. Must handle PHI nodes correctly
* Think about whether edge split SSA form would be useful to do.
* The dropAllReferences code can be a noop when NDEBUG!!!
* pred/succ iterators on basic blocks don't handle switch statements correctly
* Provide a pass that eliminates critical edges from the CFG
* Need a way to attach bytecode block info at various levels of asm code.
* Recognize and save comments in assembly and bytecode format
* Encode line number table in bytecode (like #line), optional table
* Encode negative relative offsets in the bytecode file
* Implement switch to switch on a constant pool array of type:
[{ label, int }] or [label] (lookup vs index switch)
* Apparently bison has a %pure_parser option. Maybe useful for AsmParser
* Implement the following derived types:
* "packed format", like this: [4 x sbyte]: Packed SIMD datatype
* Bytecode reader should use extensions that may or may not be linked into the
application to read blocks. Thus an easy way to ignore symbol table info
would be to not link in that reader into the app.