mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 02:33:33 +00:00
all this logic always returns true because GOT mode is never active in x86-64 mode.
Simplify it away, someone should evaluate this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75100 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
88e1fd539e
commit
3fff30d471
@ -2057,22 +2057,11 @@ bool X86TargetLowering::IsEligibleForTailCallOptimization(CallSDNode *TheCall,
|
||||
return false;
|
||||
|
||||
if (CheckTailCallReturnConstraints(TheCall, Ret)) {
|
||||
MachineFunction &MF = DAG.getMachineFunction();
|
||||
unsigned CallerCC = MF.getFunction()->getCallingConv();
|
||||
unsigned CalleeCC= TheCall->getCallingConv();
|
||||
if (CalleeCC == CallingConv::Fast && CallerCC == CalleeCC) {
|
||||
// On x86/32Bit PIC/GOT tail calls are supported.
|
||||
if (getTargetMachine().getRelocationModel() != Reloc::PIC_ ||
|
||||
!Subtarget->isPICStyleGOT() || !Subtarget->is64Bit())
|
||||
return true;
|
||||
|
||||
SDValue Callee = TheCall->getCallee();
|
||||
// Can only do local tail calls (in same module, hidden or protected) on
|
||||
// x86_64 PIC/GOT at the moment.
|
||||
if (GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(Callee))
|
||||
return G->getGlobal()->hasHiddenVisibility()
|
||||
|| G->getGlobal()->hasProtectedVisibility();
|
||||
}
|
||||
unsigned CallerCC =
|
||||
DAG.getMachineFunction().getFunction()->getCallingConv();
|
||||
unsigned CalleeCC = TheCall->getCallingConv();
|
||||
if (CalleeCC == CallingConv::Fast && CallerCC == CalleeCC)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user