diff --git a/docs/ChrisNotes.txt b/docs/ChrisNotes.txt index f733a559345..675c72d13ab 100644 --- a/docs/ChrisNotes.txt +++ b/docs/ChrisNotes.txt @@ -1,3 +1,23 @@ +* 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. :( +* Enable DoConstantPoolMerging to do trivial DCE of constant values. +* Fix DCE to work better, so that SCCP can show it's true value. +* 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 * pred/succ iterators on basic blocks don't handle switch statements correctly