-* Need to implement constant propogation of cast instructions!
-* 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 DCE to work better, so that SCCP can show it's true value.
-* Implement ADCE
-* Fix the const pool printer to print out constants in some sort of "sorted"
- order. Then enable TestOptimizer.sh to diff -sccp output. Currently it
- doesn't work because the diff fails because of ordering of the constant
- pool. :(
-* Maybe ConstantPool objects should keep themselves sorted as things are
- inserted.
-* Enable DoConstantPoolMerging to do trivial DCE of constant values.
-* Should provide "castTerminator, castPHI, etc" functions in Instruction, and
- similar functions in other classes, that effectively do dynamic casts. This
- would allow code like this:
- if (I->isTerminator()) {
- TerminatorInst *TI = (TerminatorInst*)I;
- ...
- }
- to be written as:
- if (TerminatorInst *TI = I->castTerminatorInst()) {
- ...
- }
-* Think about whether edge split SSA form would be useful to do.
-* Inlining should attempt to give block names the same name in the inlined
- method (using SymbolTable::getUniqueName)
-* The dropAllReferences code can be a noop when NDEBUG!!!
-* Finish xvcg output