Hi! Is it possible to tune a jit execution engine, expecially the one for x86, for compilation speed at the cost of optimization quality? -Jochen
On Oct 31, 2010, at 8:12 AM, Jochen Wilhelmy wrote:> Is it possible to tune a jit execution engine, expecially the one for x86, > for compilation speed at the cost of optimization quality?Within limits. Make sure you're using fast isel and the local (or even the simple!) register allocator. Note that if your sole constraint is speed of code-emission, going through LLVM is never going to beat using a macro assembly library (WebKit's is well-considered), or even pregenerating chunks of assembly that you append to build a function. LLVM is only going to show a benefit if you (1) need the flexibility of targeting arbitrary architectures, (2) care about the quality of the code you emit, or (3) don't want to get your hands dirty with assembly. John.
> Within limits. Make sure you're using fast isel and the local (or even the simple!) register allocator.Where can I configure this?> Note that if your sole constraint is speed of code-emission, going through LLVM is never going to beat using a macro assembly library (WebKit's is well-considered), or even pregenerating chunks of assembly that you append to build a function. LLVM is only going to show a benefit if you (1) need the flexibility of targeting arbitrary architectures, (2) care about the quality of the code you emit, or (3) don't want to get your hands dirty with assembly.I think 1 to 3 apply to me more or less. LLVM is the simplest solution for me, but I'd like to try to get it as fast as it can, even if it is not the fastest possible solution. -Jochen