Bugpoint has to emit function stubs that call getPointerToNamedFunction to find code generated by the JIT. It would be nice if it only did this the first time it was called. Instead of emitting: internal void %l33_main_no_exit_2E_i305_2E_i_wrapper(sbyte*, uint*) { %resolver = call sbyte* %getPointerToNamedFunction( sbyte* getelementptr ([30 x sbyte]* % l33_main_no_exit_2E_i305_2E_i_name, int 0, int 0) ) ; <sbyte*> [#uses=1] %resolverCast = cast sbyte* %resolver to void (sbyte*, uint*)* ; <void (sbyte*, uint*)*> [#uses=1] call void %resolverCast( sbyte* %0, uint* %0 ) ret void } we would like to use something like a static var to remember this. This should be done in Miscompilation.cpp:CleanupAndPrepareModules. -Chris
Oh yeah, this would make JIT debugging like 3x faster on some programs. :) -Chris
This enhancement is now implemented, patch here: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050711/026997.html -Chris