theraven
|
4f31ed8acd
|
Some tweaks to optimisation order.
|
15 years ago |
theraven
|
5705845e98
|
Fixed some bugs with the optimisation passes and introduced support for automatically running them (requires LLVM 3 + a patch that is not yet in trunk, but should be soon).
|
15 years ago |
theraven
|
34aa9f9455
|
Allowed LLVM optimisations to build against both LLVM 2.9 and LLVM 3.0.
|
15 years ago |
theraven
|
9d5452b147
|
Fixed LLVM passes to compile with recent LLVM.
Made class caching pass cache classes in a static variable if the original class is not available.
|
15 years ago |
theraven
|
6a58d3d49d
|
Added unfinished inliner that uses type feedback info to inline instance methods.
Made class method inliner also inline message sends to super.
Various updates caused by clang now attaching more sensible metadata to the IR.
|
16 years ago |
theraven
|
6cac2816cc
|
Added speculative inlining of class messages. Currently inlines all that it can, without deciding whether it's sensible.
|
16 years ago |
theraven
|
beb8356367
|
Made ClassIMPCache a ModulePass (it shouldn't be a FunctionPass because it adds globals).
|
16 years ago |
theraven
|
84b41a8464
|
Added -gnu-class-lookup-cache and -gnu-class-imp-cache passes. These add caching for class messages and also skip the class lookup (using the class symbol directly) where possible.
In combination, these make class messages marginally slower than function calls, rather than significantly slower than message sends.
|
16 years ago |