forked from OSchip/llvm-project
Remove TLI from isInTailCallPosition's arguments. NFC.
There is no need to pass on TLI separately to the function. As Eric pointed out the Target Machine already provides everything we need. llvm-svn: 213108
This commit is contained in:
parent
22ca3f8860
commit
480872b4ce
|
@ -87,8 +87,7 @@ ISD::CondCode getICmpCondCode(ICmpInst::Predicate Pred);
|
|||
/// between it and the return.
|
||||
///
|
||||
/// This function only tests target-independent requirements.
|
||||
bool isInTailCallPosition(ImmutableCallSite CS, const TargetMachine &TM,
|
||||
const TargetLoweringBase &TLI);
|
||||
bool isInTailCallPosition(ImmutableCallSite CS, const TargetMachine &TM);
|
||||
|
||||
/// Test if given that the input instruction is in the tail call position if the
|
||||
/// return type or any attributes of the function will inhibit tail call
|
||||
|
|
|
@ -475,8 +475,7 @@ static bool nextRealType(SmallVectorImpl<CompositeType *> &SubTypes,
|
|||
/// between it and the return.
|
||||
///
|
||||
/// This function only tests target-independent requirements.
|
||||
bool llvm::isInTailCallPosition(ImmutableCallSite CS, const TargetMachine &TM,
|
||||
const TargetLoweringBase &TLI) {
|
||||
bool llvm::isInTailCallPosition(ImmutableCallSite CS, const TargetMachine &TM) {
|
||||
const Instruction *I = CS.getInstruction();
|
||||
const BasicBlock *ExitBB = I->getParent();
|
||||
const TerminatorInst *Term = ExitBB->getTerminator();
|
||||
|
@ -509,7 +508,8 @@ bool llvm::isInTailCallPosition(ImmutableCallSite CS, const TargetMachine &TM,
|
|||
return false;
|
||||
}
|
||||
|
||||
return returnTypeIsEligibleForTailCall(ExitBB->getParent(), I, Ret, TLI);
|
||||
return returnTypeIsEligibleForTailCall(ExitBB->getParent(), I, Ret,
|
||||
*TM.getTargetLowering());
|
||||
}
|
||||
|
||||
bool llvm::returnTypeIsEligibleForTailCall(const Function *F,
|
||||
|
|
|
@ -1023,7 +1023,7 @@ bool FastISel::LowerCall(const CallInst *CI) {
|
|||
// Check if target-independent constraints permit a tail call here.
|
||||
// Target-dependent constraints are checked within FastLowerCall.
|
||||
bool IsTailCall = CI->isTailCall();
|
||||
if (IsTailCall && !isInTailCallPosition(CS, TM, TLI))
|
||||
if (IsTailCall && !isInTailCallPosition(CS, TM))
|
||||
IsTailCall = false;
|
||||
|
||||
CallLoweringInfo CLI;
|
||||
|
|
|
@ -5490,7 +5490,7 @@ void SelectionDAGBuilder::LowerCallTo(ImmutableCallSite CS, SDValue Callee,
|
|||
|
||||
// Check if target-independent constraints permit a tail call here.
|
||||
// Target-dependent constraints are checked within TLI->LowerCallTo.
|
||||
if (isTailCall && !isInTailCallPosition(CS, DAG.getTarget(), *TLI))
|
||||
if (isTailCall && !isInTailCallPosition(CS, DAG.getTarget()))
|
||||
isTailCall = false;
|
||||
|
||||
TargetLowering::CallLoweringInfo CLI(DAG);
|
||||
|
|
Loading…
Reference in New Issue