Chris Lattner <clattner at apple.com> writes:> The JIT uses the entire code generator, which uses N^2 algorithms etc > in some cases. If you care about compile time, I'd strongly suggest > using the "local" register allocator and the "-fast" mode. This is > what we do for -O0 compiles and it is much much faster than the > defaults.Okay, I'll do if some day I figure out how to pass those options to the JIT :-)> However, you get worse performing code out of the compiler.This affects the quality of register allocation and instruction selection, but optimization passes (inlining, mem2reg, etc) are still effective, aren't they? Thanks. -- Óscar
Óscar Fuentes wrote:> Okay, I'll do if some day I figure out how to pass those options to the > JIT :-)Well, the -fast option is easy to get: MP = new ExistingModuleProvider(module); string error; JIT = ExecutionEngine::create(MP, false, &error, llvm::CodeGenOpt::None); Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr.Graef at t-online.de, ag at muwiinfa.geschichte.uni-mainz.de WWW: http://www.musikinformatik.uni-mainz.de/ag
Albert Graef <Dr.Graef at t-online.de> writes:> Óscar Fuentes wrote: >> Okay, I'll do if some day I figure out how to pass those options to the >> JIT :-) > > Well, the -fast option is easy to get: > > MP = new ExistingModuleProvider(module); > string error; > JIT = ExecutionEngine::create(MP, false, &error, llvm::CodeGenOpt::None);Thanks Albert. With this change the time used by code generation goes down from 33 seconds to 26.5. -- Óscar