search for: insertprologepilogcod

Displaying 14 results from an estimated 14 matches for "insertprologepilogcod".

Did you mean: insertprologepilogcode
2010 Aug 27
0
[LLVMdev] What does this error mean: psuedo instructions should be removed before code emission?
...le reproducing it and I have to debug myself. The function causing the problem is stub created in JIT::runFunction: Function *Stub = Function::Create(STy, Function::InternalLinkage, "" ... Here is the log of machine instructions before and after emitEpilogue for this function: * PEI::insertPrologEpilogCode: === >> before emitEpilogue - insn: PUSH64r %RBP<kill>, %RSP<imp-def>, %RSP<imp-use> - insn: PROLOG_LABEL <MCSym=.Ltmp2> - insn: %RBP<def> = MOV64rr %RSP - insn: PROLOG_LABEL <MCSym=.Ltmp3> - insn: %RDI<def> = MOV64ri64i32 60910096...
2010 Aug 26
2
[LLVMdev] What does this error mean: psuedo instructions should be removed before code emission?
On Aug 26, 2010, at 12:59 PMPDT, Eric Christopher wrote: > On Aug 26, 2010, at 12:25 PM, Yuri wrote: >> On 08/26/2010 11:53, Eric Christopher wrote: >>> Could you get it to print out the instruction when it happens? >>> (just change the line above the error message to print it out to >>> errs()). >>> >>> It basically means that a pseudo
2010 Aug 27
2
[LLVMdev] What does this error mean: psuedo instructions should be removed before code emission?
...elf. > > The function causing the problem is stub created in > JIT::runFunction: Function *Stub = Function::Create(STy, > Function::InternalLinkage, "" ... > > Here is the log of machine instructions before and after > emitEpilogue for this function: > * PEI::insertPrologEpilogCode: === >> before emitEpilogue > - insn: PUSH64r %RBP<kill>, %RSP<imp-def>, %RSP<imp-use> > - insn: PROLOG_LABEL <MCSym=.Ltmp2> > - insn: %RBP<def> = MOV64rr %RSP > - insn: PROLOG_LABEL <MCSym=.Ltmp3> > - insn: %RDI<def> = MOV64ri64i...
2010 Aug 27
0
[LLVMdev] What does this error mean: psuedo instructions should be removed before code emission?
...lf. >> >> The function causing the problem is stub created in JIT::runFunction: Function *Stub = Function::Create(STy, Function::InternalLinkage, "" ... >> >> Here is the log of machine instructions before and after emitEpilogue for this function: >> * PEI::insertPrologEpilogCode: === >> before emitEpilogue >> - insn: PUSH64r %RBP<kill>, %RSP<imp-def>, %RSP<imp-use> >> - insn: PROLOG_LABEL <MCSym=.Ltmp2> >> - insn: %RBP<def> = MOV64rr %RSP >> - insn: PROLOG_LABEL <MCSym=.Ltmp3> >> - insn: %RDI<def&g...
2010 Aug 27
3
[LLVMdev] What does this error mean: psuedo instructions should be removed before code emission?
...is stub created in >>> JIT::runFunction: Function *Stub = Function::Create(STy, >>> Function::InternalLinkage, "" ... >>> >>> Here is the log of machine instructions before and after >>> emitEpilogue for this function: >>> * PEI::insertPrologEpilogCode: === >> before emitEpilogue >>> - insn: PUSH64r %RBP<kill>, %RSP<imp-def>, %RSP<imp-use> >>> - insn: PROLOG_LABEL <MCSym=.Ltmp2> >>> - insn: %RBP<def> = MOV64rr %RSP >>> - insn: PROLOG_LABEL <MCSym=.Ltmp3> >>> -...
2010 Aug 27
0
[LLVMdev] What does this error mean: psuedo instructions should be removed before code emission?
...}, NodePtr = 0x4b69440}, DL={LineCol = 0, ScopeIdx = 0}, TID=@0x803a78940) at MachineInstrBuilder.h:183 #3 0x0000000803451825 in llvm::X86RegisterInfo::emitPrologue (this=0x1a96220, MF=@0x30eb000) at /tmp/llvm-svn/llvm/lib/Target/X86/X86RegisterInfo.cpp:1037 #4 0x0000000802cdf3e5 in llvm::PEI::insertPrologEpilogCode (this=0x3231900, Fn=@0x30eb000) at /tmp/llvm-svn/llvm/lib/CodeGen/PrologEpilogInserter.cpp:680 #5 0x0000000802cdcf04 in llvm::PEI::runOnMachineFunction (this=0x3231900, Fn=@0x30eb000) at /tmp/llvm-svn/llvm/lib/CodeGen/PrologEpilogInserter.cpp:106 #6 0x0000000802c92abd in llvm::MachineFunctio...
2015 Aug 16
2
[LLVMdev] Adding a stack probe function attribute
...on Windows x86-32. I ran into two issues while implementing this. The epilog was inserted into the wrong basic block. This is because the basic blocks to insert epilogs into is calculated before emitPrologue is called. I fixed this by adding the following code after the emitPrologue call in PEI::insertPrologEpilogCode: RestoreBlocks.clear(); calculateSets(Fn); This doesn't seem like a very nice solution. It's also unclear to me how Microsoft's branch handles this. The other issue is with code generation. All the tests passed but the one were segmented stacks are used and stack probes are requ...
2009 Mar 12
4
[LLVMdev] Shrink Wrapping - RFC and initial implementation
...of us who are a bit picky. 6. + // Save entry block, return blocks. + if (MBB->pred_size() == 0) + entryBlock = MBB; Entry block is the Fn.front(). 7. + if (!MBB->empty() && MBB->back().getDesc().isReturn()) + returnBlocks.push_back(MBB); PEI::insertPrologEpilogCode also traverse MBBs and get at return blocks. So these probably ought to be shared, i.e. returnBlocks should be an ivar and determined early in PEI. 8. + for (MachineBasicBlock::iterator I = MBB->begin(); I != MBB->end (); ++I) { + for (unsigned i = 0, e = CSI.size(); i != e; ++...
2009 Mar 05
0
[LLVMdev] Shrink Wrapping - RFC and initial implementation
Here is an updated patch for shrink wrapping with: - spills/restores done with stack slot stores/loads - stack adjustment removed - refactoring (but still in need of more) - spill/restore insertion code unified with spill/restore placement code Documentation available here<http://wiki.github.com/jdmdj/llvm-work/shrink-wrapping-work> illustrates shrink wrapping with loops and discusses a
2015 Jul 28
1
[LLVMdev] Adding a stack probe function attribute
On Tue, Jul 28, 2015 at 6:34 PM, Reid Kleckner <rnk at google.com> wrote: > On Tue, Jul 28, 2015 at 2:25 AM, John Kåre Alsaker > <john.mailinglists at gmail.com> wrote: >> >> On Tue, Jul 28, 2015 at 12:44 AM, Reid Kleckner <rnk at google.com> wrote: >> > Yeah, the function attributes section of LangRef is a reasonable place >> > to >>
2009 Mar 03
2
[LLVMdev] Shrink Wrapping - RFC and initial implementation
On Mon, Mar 2, 2009 at 10:35 AM, Evan Cheng <echeng at apple.com> wrote: > > On Mar 1, 2009, at 2:57 PM, John Mosby wrote: > > Obviously, all of this applies only when spills are done with push/pop, > which is the case on x86. I used this issue to start looking at generalizing > how spills and restores are handled, before looking too closely at other > targets, and
2009 Mar 13
0
[LLVMdev] Shrink Wrapping - RFC and initial implementation
...gt; > > + if (MBB->pred_size() == 0) > > > + entryBlock = MBB; > > Entry block is the Fn.front(). > > 7. > + if (!MBB->empty() && MBB->back().getDesc().isReturn()) > > > + returnBlocks.push_back(MBB); > > PEI::insertPrologEpilogCode also traverse MBBs and get at return blocks. So > these probably ought to be shared, i.e. returnBlocks should be an ivar and > determined early in PEI. > Absolutely (I knew Fn.front() was what I wanted but didn't go back and fix things). I am implementing these. > 8. > + f...
2009 Mar 18
1
[LLVMdev] Shrink Wrapping - RFC and initial implementation
...MBB->pred_size() == 0) >> >> >> +        entryBlock = MBB; >> Entry block is the Fn.front(). >> 7. >> +        if (!MBB->empty() && MBB->back().getDesc().isReturn()) >> >> >> +          returnBlocks.push_back(MBB); >> PEI::insertPrologEpilogCode also traverse MBBs and get at return blocks. >> So these probably ought to be shared, i.e. returnBlocks should be an ivar >> and determined early in PEI. > > Absolutely (I knew Fn.front() was what I wanted but didn't go back and fix > things). I am implementing these. >...
2010 Aug 27
2
[LLVMdev] What does this error mean: psuedo instructions should be removed before code emission?
...}, DL={LineCol = 0, ScopeIdx = 0}, > TID=@0x803a78940) at MachineInstrBuilder.h:183 > #3 0x0000000803451825 in llvm::X86RegisterInfo::emitPrologue > (this=0x1a96220, MF=@0x30eb000) at > /tmp/llvm-svn/llvm/lib/Target/X86/X86RegisterInfo.cpp:1037 > #4 0x0000000802cdf3e5 in llvm::PEI::insertPrologEpilogCode > (this=0x3231900, Fn=@0x30eb000) at > /tmp/llvm-svn/llvm/lib/CodeGen/PrologEpilogInserter.cpp:680 > #5 0x0000000802cdcf04 in llvm::PEI::runOnMachineFunction > (this=0x3231900, Fn=@0x30eb000) at > /tmp/llvm-svn/llvm/lib/CodeGen/PrologEpilogInserter.cpp:106 > #6 0x0000000802c92a...