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
>...
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...