From d5648c7a7dcce518cb021104ab35601ea8feb444 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. llvm-svn: 287955 --- llvm/lib/Transforms/IPO/ArgumentPromotion.cpp | 4 ++-- llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp | 8 ++++---- llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp | 11 +++++------ llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp | 2 +- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp b/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp index c0389df..47bf107 100644 --- a/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp +++ b/llvm/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/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp b/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp index c294d64..1a5ed46 100644 --- a/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp +++ b/llvm/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/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp index c9eecf3..c79aa05 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp +++ b/llvm/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/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp b/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp index fbb2483..1de7420 100644 --- a/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp +++ b/llvm/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.7.4