X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FOpenProjects.html;h=5f648374d1a5539e5340adb6bfbc89b848a3314c;hb=cd11e45d61914ade2b227d4b9d5da12f5eb84d31;hp=9b50d23b433daa64e7030b1dd97ce1fe75c67685;hpb=99df25f9f14ffa9c13ddcbfa29ca3bd00d401f1f;p=oota-llvm.git
diff --git a/docs/OpenProjects.html b/docs/OpenProjects.html
index 9b50d23b433..5f648374d1a 100644
--- a/docs/OpenProjects.html
+++ b/docs/OpenProjects.html
@@ -92,7 +92,7 @@ could use the following improvements:
Graphs - It would be great to have gnuplot graphs to keep track of how the
tree is changing over time. We already gather a several statistics, it
- just neccesary to add the script-fu to gnuplotize it.
+ just necessary to add the script-fu to gnuplotize it.
Regression tests - We should run the regression tests in addition to the
program tests...
@@ -127,10 +127,6 @@ all the back-ends: CBE, llc, and lli.
-- Transform setjmp and longjmp calls to use the LLVM
- invoke mechanism.
-
- Add support for a volatile attribute on loads and stores
-
- Support for variable argument functions
- Add a new conditional move instruction: X = select bool Cond, Y, Z
- Add support for platform independent prefetch support. The GCC prefetch project page
@@ -147,8 +143,14 @@ all the back-ends: CBE, llc, and lli.
-- Improve the efficiency of the bytecode loader/writer, allow streaming lazy
- loading of functions from the bytecode (for use by the JIT, for example)
+ - Someone needs to look into getting the ranlib tool to index LLVM
+ bytecode files, so that linking in .a files is not hideously slow. They
+ would also then have to implement the reader for this index in
+ gccld.
+
+ - Improve the efficiency of the bytecode loader/writer
+ - Extend the FunctionPassManager to use a ModuleProvider to stream functions
+ in on demand. This would improve the efficiency of the JIT.
- Rework the PassManager to be more flexible
- Some transformations and analyses only work on reducible flow graphs. It
would be nice to have a transformation which could be "required" by these passes
@@ -179,15 +181,15 @@ very rewarding.
Pointer and Alias Analysis
-We have a strong base for development of both pointer analysis based
-optimizations as well as pointer analyses themselves. It seems natural to want
-to take advantage of this...
+We have a strong base for development of both
+pointer analysis based optimizations as well as pointer analyses themselves. It
+seems natural to want to take advantage of this...
- Implement a flow-sensitive context-sensitive alias analysis algorithm
- Pick one of the somewhat efficient algorithms, but strive for maximum
precision
- - Implement a flow-sensitive context-insensitive alias anlaysis algorithm
+ - Implement a flow-sensitive context-insensitive alias analysis algorithm
- Just an efficient local algorithm perhaps?
- Implement an interface to update analyses in response to common code motion
@@ -195,15 +197,6 @@ to take advantage of this...
- Implement alias analysis based optimizations:
- Dead store elimination
-
- Store+Reload or "store forwarding" elimination:
- Change:
-
- store int X, int* P
- Y = load int* P
- into:
-
- store int X, int *P
- Y = X
@@ -245,8 +238,8 @@ Ideas for profile guided transformations:
- A linear time or nearly so algorithm
- Implement a strength reduction pass
- Value range propagation pass
-
- Implement a tail recursion elimination pass
- Implement an unswitching pass
+
- Write a loop unroller, with a simple heuristic for when to unroll
@@ -259,7 +252,6 @@ Ideas for profile guided transformations:
- Implement a global register allocator
- Implement a better instruction selector
-
- Implement a static compiler in addition to the JIT (easy project)
- Implement support for the "switch" instruction without requiring the
lower-switches pass.
@@ -285,6 +277,6 @@ Ideas for profile guided transformations:
Chris Lattner
-Last modified: Wed Feb 26 10:37:31 CST 2003
+Last modified: Wed Oct 1 16:48:54 CDT 2003