13 Commits (de8e5f26eeb70f5b10b54e7e2dc98e045b11f034)

Author SHA1 Message Date
theraven 0dcb0885bf Update opts to work with LLVM trunk (3.3). 13 years ago
theraven 3b5e00b995 Small improvements to class lookup cache pass. 14 years ago
theraven 8cf5e0412f Update optimisation to work with LLVM trunk, remove the Makefile and use CMake for building the passes (out of tree builds are now easier). 14 years ago
theraven abff244ef9 Started 1.6.1 release announcement, updated LLVM optimisations to work with LLVM 3.1. 14 years ago
theraven b68a5dda6d Get the libobjc2 optimisations building again with LLVM trunk. 15 years ago
theraven 4f31ed8acd Some tweaks to optimisation order. 15 years ago
theraven 2912bae0a7 Ooops, another debugging line left in which caused a pass not to run... 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 15ddbdfd71 Added meta-pass that runs all of the LLVM optimisations. 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 60f87bc4ad Removed debugging code that shouldn't have been in last commit.
Aside: Testing the two passes from the last commit shows that they provide about a factor of 10 speedup for class messages.
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