summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-09-07 16:10:35 +0000
committerChris Lattner <sabre@nondot.org>2001-09-07 16:10:35 +0000
commit643ecd43878841988962205d574638d3912a6a91 (patch)
tree74f24b374a5b474f45af8a8046dec333120bebe0 /docs
parent98af669fb9f1f4454953622bb5023ac24f2f0cc3 (diff)
downloadllvm-643ecd43878841988962205d574638d3912a6a91.tar.gz
llvm-643ecd43878841988962205d574638d3912a6a91.tar.bz2
llvm-643ecd43878841988962205d574638d3912a6a91.tar.xz
whoo hoo I did something! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@414 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/ChrisNotes.txt13
1 files changed, 4 insertions, 9 deletions
diff --git a/docs/ChrisNotes.txt b/docs/ChrisNotes.txt
index 832b3ce02e..2c348dda9c 100644
--- a/docs/ChrisNotes.txt
+++ b/docs/ChrisNotes.txt
@@ -1,8 +1,6 @@
+* Don't emit constant pool blocks for methods with empty constant pools!
* Need to implement getelementptr, load, and store for indirection through
arrays and multidim arrays
-* BytecodeWriter should use a deque<unsigned char> instead of vector!!!
-* Eliminate the method signature from a call instruction. It should look like
- this: call int %func(int 2, int %reg118)
* Indirect calls should use the icall instruction
* Rewrite the llvm parser/lexer in http://www.antlr.org when time permits.
They actually do C++. Imagine that.
@@ -10,15 +8,13 @@
* 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
* 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:
@@ -37,16 +33,15 @@
* Finish xvcg output
* pred/succ iterators on basic blocks don't handle switch statements correctly
* Provide a pass that eliminates critical edges from the CFG
-* Provide a print pass to print out xvcg format files for vis
* I need to provide an option to the bytecode loader to ignore memory
dependance edges. Instead, the VM would just treat memory operations
(load, store, getfield, putfield, call) as pinned instructions.
* I need to have a way to prevent taking the address of a constant pool
reference. You should only be able to take the address of a variable.
Maybe taking the address of a constant copies it? What about virtual
- function tables? Maybe a const pointer would be better...
+ function tables? Maybe a const pointer would be better... Alternatively,
+ we could alloca a local variable, copy a constant into it, and use that...
* Need a way to attach bytecode block info at various levels of asm code.
-* Need to be able to inflate recursive types. %x = { *%x }, %x = %x ()
* Recognize and save comments in assembly and bytecode format
* Encode line number table in bytecode (like #line), optional table