12 Commits (c7c193e4c72e9efabd528e5ef1117bbea22e5eea)

Author SHA1 Message Date
theraven 3b44e6f97a Fix the build with LLVM 3.3 and enable building the optimisation passes by
default of LLVM 3.3 is found.
13 years ago
theraven 0dcb0885bf Update opts to work with LLVM trunk (3.3). 13 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 81131acfbc Fix LLVM trunk compatibility. 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 0c8d2bd7b8 Added missing files. 16 years ago
theraven 23447feca5 Profile-driven inlining of Objective-C methods. 16 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 c425b1bfdc Initial (working) type feedback pass. Records the IMP for every message lookup. Note: This writes 3 words for every single message send, which means that it makes code VERY slow and can fill up the filesystem if you leave it enabled.
The aim of this pass is to identify message send sites which can benefit from speculative inlining and inline caching.  By itself, this pass is useless.  It will later be combined with one that parses this information and then uses the existing caching and inlining infrastructure to optimize hot message send sites.

Now, however, it's time for me to go and dance, so the useful bit will have to wait.
16 years ago
theraven 93251416eb Added LLVM optimisation passes for libobjc2. 16 years ago