Chris Lattner
2010-Jun-18 16:35 UTC
[LLVMdev] Why google-perftools fails on the JITted code?
On Jun 18, 2010, at 3:29 AM, Yuri wrote:> Now I see that JITted code doesn't have standard prolog, on x86 each > procedure instead begins with 'sub $0x4,%esp'. > > Is there an option to make JIT generate regular prologs?Try turning off frame pointer elimination. On the llc command line, this is -disable-fp-elim -Chris> > Yuri > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
On Sat, Jun 19, 2010 at 4:35 AM, Chris Lattner <clattner at apple.com> wrote:> > On Jun 18, 2010, at 3:29 AM, Yuri wrote: > >> Now I see that JITted code doesn't have standard prolog, on x86 each >> procedure instead begins with 'sub $0x4,%esp'. >> >> Is there an option to make JIT generate regular prologs? > > Try turning off frame pointer elimination. On the llc command line, this is -disable-fp-elim >What does llc have to do with the JIT?
Chris Lattner
2010-Jun-19 17:56 UTC
[LLVMdev] Why google-perftools fails on the JITted code?
On Jun 19, 2010, at 6:57 AM, Paul Davey wrote:> On Sat, Jun 19, 2010 at 4:35 AM, Chris Lattner <clattner at apple.com> wrote: >> >> On Jun 18, 2010, at 3:29 AM, Yuri wrote: >> >>> Now I see that JITted code doesn't have standard prolog, on x86 each >>> procedure instead begins with 'sub $0x4,%esp'. >>> >>> Is there an option to make JIT generate regular prologs? >> >> Try turning off frame pointer elimination. On the llc command line, this is -disable-fp-elim >> > > What does llc have to do with the JIT?llc and lli use the same code generator. LLI takes the -disable-fp-elim flag also. If you have embedded this JIT in your own stuff (which wasn't specified) you need to use the same api that the -disable-fp-elim flag sets in these two tools. -Chris
On 06/19/2010 06:57, Paul Davey wrote:> What does llc have to do with the JIT? >I think he meant lli. Actually I use API instead and setting the flag equivalent to this option worked. Now google-perftools generates the correct profile. Yuri
Reasonably Related Threads
- [LLVMdev] Why google-perftools fails on the JITted code?
- [LLVMdev] Why google-perftools fails on the JITted code?
- [LLVMdev] Why google-perftools fails on the JITted code?
- [LLVMdev] [patch] New feature: debug info for function memory ranges (-jit-emit-debug-function-range)
- [LLVMdev] [patch] New feature: debug info in add2line format (--jit-emit-debug-addr2line)