From 663468206721f0e47d4bdce17af1a181850eee2f Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Fri, 25 Nov 2016 22:35:09 +0000 Subject: [PATCH] Replace some callers of setTailCall with setTailCallKind We were a little sloppy with adding tailcall markers. Be more consistent by using setTailCallKind instead of setTailCall. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287955 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/IPO/ArgumentPromotion.cpp | 4 ++-- lib/Transforms/IPO/DeadArgumentElimination.cpp | 8 ++++---- lib/Transforms/InstCombine/InstCombineCalls.cpp | 11 +++++------ lib/Transforms/Scalar/RewriteStatepointsForGC.cpp | 2 +- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/lib/Transforms/IPO/ArgumentPromotion.cpp b/lib/Transforms/IPO/ArgumentPromotion.cpp index c0389df5b73..47bf107e66e 100644 --- a/lib/Transforms/IPO/ArgumentPromotion.cpp +++ b/lib/Transforms/IPO/ArgumentPromotion.cpp @@ -885,8 +885,8 @@ DoPromotion(Function *F, SmallPtrSetImpl &ArgsToPromote, cast(New)->setCallingConv(CS.getCallingConv()); cast(New)->setAttributes(AttributeSet::get(New->getContext(), AttributesVec)); - if (cast(Call)->isTailCall()) - cast(New)->setTailCall(); + cast(New)->setTailCallKind( + cast(Call)->getTailCallKind()); } New->setDebugLoc(Call->getDebugLoc()); Args.clear(); diff --git a/lib/Transforms/IPO/DeadArgumentElimination.cpp b/lib/Transforms/IPO/DeadArgumentElimination.cpp index c294d6450b5..1a5ed469221 100644 --- a/lib/Transforms/IPO/DeadArgumentElimination.cpp +++ b/lib/Transforms/IPO/DeadArgumentElimination.cpp @@ -190,8 +190,8 @@ bool DeadArgumentEliminationPass::DeleteDeadVarargs(Function &Fn) { New = CallInst::Create(NF, Args, OpBundles, "", Call); cast(New)->setCallingConv(CS.getCallingConv()); cast(New)->setAttributes(PAL); - if (cast(Call)->isTailCall()) - cast(New)->setTailCall(); + cast(New)->setTailCallKind( + cast(Call)->getTailCallKind()); } New->setDebugLoc(Call->getDebugLoc()); @@ -896,8 +896,8 @@ bool DeadArgumentEliminationPass::RemoveDeadStuffFromFunction(Function *F) { New = CallInst::Create(NF, Args, OpBundles, "", Call); cast(New)->setCallingConv(CS.getCallingConv()); cast(New)->setAttributes(NewCallPAL); - if (cast(Call)->isTailCall()) - cast(New)->setTailCall(); + cast(New)->setTailCallKind( + cast(Call)->getTailCallKind()); } New->setDebugLoc(Call->getDebugLoc()); diff --git a/lib/Transforms/InstCombine/InstCombineCalls.cpp b/lib/Transforms/InstCombine/InstCombineCalls.cpp index c9eecf3ea77..c79aa05c39e 100644 --- a/lib/Transforms/InstCombine/InstCombineCalls.cpp +++ b/lib/Transforms/InstCombine/InstCombineCalls.cpp @@ -3043,8 +3043,7 @@ bool InstCombiner::transformConstExprCastCall(CallSite CS) { CallInst *CI = cast(Caller); NC = Builder->CreateCall(Callee, Args, OpBundles); NC->takeName(CI); - if (CI->isTailCall()) - cast(NC)->setTailCall(); + cast(NC)->setTailCallKind(CI->getTailCallKind()); cast(NC)->setCallingConv(CI->getCallingConv()); cast(NC)->setAttributes(NewCallerPAL); } @@ -3228,10 +3227,10 @@ InstCombiner::transformCallThroughTrampoline(CallSite CS, cast(NewCaller)->setAttributes(NewPAL); } else { NewCaller = CallInst::Create(NewCallee, NewArgs, OpBundles); - if (cast(Caller)->isTailCall()) - cast(NewCaller)->setTailCall(); - cast(NewCaller)-> - setCallingConv(cast(Caller)->getCallingConv()); + cast(NewCaller)->setTailCallKind( + cast(Caller)->getTailCallKind()); + cast(NewCaller)->setCallingConv( + cast(Caller)->getCallingConv()); cast(NewCaller)->setAttributes(NewPAL); } diff --git a/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp b/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp index fbb2483e886..1de742050cb 100644 --- a/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp +++ b/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp @@ -1395,7 +1395,7 @@ makeStatepointExplicitImpl(const CallSite CS, /* to replace */ StatepointID, NumPatchBytes, CallTarget, Flags, CallArgs, TransitionArgs, DeoptArgs, GCArgs, "safepoint_token"); - Call->setTailCall(ToReplace->isTailCall()); + Call->setTailCallKind(ToReplace->getTailCallKind()); Call->setCallingConv(ToReplace->getCallingConv()); // Currently we will fail on parameter attributes and on certain -- 2.50.1