Displaying 4 results from an estimated 4 matches for "retnod".
Did you mean:
retnode
2007 Aug 08
0
[LLVMdev] Destination register needs to be valid after callee saved register restore when tail calling
...result.
TOT means trunk of today (funny because in german, my native language
it means death)?
So what i will be trying then is to emit a copytoreg from the virtual
register holding the
function pointer to ecx before the tailcall node.
So where i approximately had this before (assuming that RetNode.getOp
(1) is not a TargetGlobalAddress or the like)
SDOperand OpsTailCall [] = {AdjStackChain, RetNode.getOperand(1),
RetNode.getOperand(2)};
RetNode = DCI.DAG.getNode(X86ISD::TAILCALL, TCVTs, OpsTailCall,3);
would then be replaced by
Chain = DAG.getCopyToReg(AdjStackChain, X86::ECX, RetNode...
2007 Aug 08
4
[LLVMdev] Destination register needs to be valid after callee saved register restore when tail calling
Hello, Arnold.
> Is there a way to indicate that the register the tail call
> instruction uses as destination needs to be valid after the callee
> saved registers have been restored? (some X86InstrInfo.td foo magic
> maybe ?)
It's wrong way to do the things. Because in this case you either violate
the ABI for callee, or you're restricted to do tail call lowering only
for
2007 Aug 09
1
[LLVMdev] Destination register needs to be valid after callee saved register restore when tail calling
...today (funny because in german, my native language
> it means death)?
>
> So what i will be trying then is to emit a copytoreg from the virtual
> register holding the
> function pointer to ecx before the tailcall node.
>
> So where i approximately had this before (assuming that RetNode.getOp
> (1) is not a TargetGlobalAddress or the like)
>
> SDOperand OpsTailCall [] = {AdjStackChain, RetNode.getOperand(1),
> RetNode.getOperand(2)};
> RetNode = DCI.DAG.getNode(X86ISD::TAILCALL, TCVTs, OpsTailCall,3);
>
> would then be replaced by
>
> Chain = DAG.getCop...
2007 Aug 08
2
[LLVMdev] Destination register needs to be valid after callee saved register restore when tail calling
Hello, Arnold.
> with the sentence i tried to express the question whether there is a
> way to persuade the code generator to use another register to load (or
> move) the function pointer to (right before the callee saved register
> restore) but thinking a little further that's nonsense.
Why don't define some special op for callee address and custom lower it?
I really