search for: framepointerelimin

Displaying 4 results from an estimated 4 matches for "framepointerelimin".

2007 Oct 05
0
[LLVMdev] RFC: Tail call optimization X86
...Tys, &Ops[0], Ops.size()); InFlag = Chain.getValue(1); The third operand is the number of bytes the callee pops of the stack on return (on x86). This gets lowered to a ADJCALLSTACKUP pseudo machineinstruction. Later when X86RegisterInfo::eliminateCallFramePseudoInstr is called and framepointerelimination is enabled the following code gets called: ... else if (I->getOpcode() == X86::ADJCALLSTACKUP) { // If we are performing frame pointer elimination and if the callee pops // something off the stack pointer, add it back. We do this until we have // more advanced stack p...
2007 Oct 04
3
[LLVMdev] RFC: Tail call optimization X86
Comments: CheckDAGForTailCallsAndFixThem - 1. for (SelectionDAG::allnodes_iterator BE = DAG.allnodes_begin(), + BI = prior(DAG.allnodes_end()); BI != BE; BI--) { Please use pre-decrement instead of post-decrement. 2. The function is slower than it should be. You are scanning all the nodes in the DAG twice. You should just examine DAG.getRoot() to make determine whether it's a
2007 Oct 05
6
[LLVMdev] RFC: Tail call optimization X86
...gt; InFlag = Chain.getValue(1); > > The third operand is the number of bytes the callee pops of the > stack on return (on x86). This gets lowered to a ADJCALLSTACKUP > pseudo machineinstruction. > > Later when X86RegisterInfo::eliminateCallFramePseudoInstr is called > and framepointerelimination is enabled the following code gets called: > ... > else if (I->getOpcode() == X86::ADJCALLSTACKUP) { > // If we are performing frame pointer elimination and if the > callee pops > // something off the stack pointer, add it back. We do this > until we have &gt...
2007 Oct 05
0
[LLVMdev] RFC: Tail call optimization X86
...ue(1); >> >> The third operand is the number of bytes the callee pops of the >> stack on return (on x86). This gets lowered to a ADJCALLSTACKUP >> pseudo machineinstruction. >> >> Later when X86RegisterInfo::eliminateCallFramePseudoInstr is called >> and framepointerelimination is enabled the following code gets >> called: >> ... >> else if (I->getOpcode() == X86::ADJCALLSTACKUP) { >> // If we are performing frame pointer elimination and if the >> callee pops >> // something off the stack pointer, add it back. We...