Remove unused variable in inliner
authorReid Kleckner <reid@kleckner.net>
Thu, 15 May 2014 20:39:42 +0000 (20:39 +0000)
committerReid Kleckner <reid@kleckner.net>
Thu, 15 May 2014 20:39:42 +0000 (20:39 +0000)
We have to iterate over all the calls that were inlined to find out if
any were musttail.

Sink another variable down to where its used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208913 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Utils/InlineFunction.cpp

index 5b7a5dc88d7b913a6756215296f929501d4628f0..e01d0c38ec400a9a5263225874b1d690b2efb9f2 100644 (file)
@@ -529,13 +529,6 @@ bool llvm::InlineFunction(CallSite CS, InlineFunctionInfo &IFI,
       CalledFunc->isDeclaration() || // call, or call to a vararg function!
       CalledFunc->getFunctionType()->isVarArg()) return false;
 
-  // If the call to the callee is not a tail call, we must clear the 'tail'
-  // flags on any calls that we inline.
-  CallInst::TailCallKind CallSiteTailKind = CallInst::TCK_None;
-  if (CallInst *CI = dyn_cast<CallInst>(TheCall))
-    CallSiteTailKind = CI->getTailCallKind();
-  bool MustClearTailCallFlags = false;
-
   // If the call to the callee cannot throw, set the 'nounwind' flag on any
   // calls that we inline.
   bool MarkNoUnwind = CS.doesNotThrow();
@@ -693,6 +686,10 @@ bool llvm::InlineFunction(CallSite CS, InlineFunctionInfo &IFI,
 
   bool InlinedMustTailCalls = false;
   if (InlinedFunctionInfo.ContainsCalls) {
+    CallInst::TailCallKind CallSiteTailKind = CallInst::TCK_None;
+    if (CallInst *CI = dyn_cast<CallInst>(TheCall))
+      CallSiteTailKind = CI->getTailCallKind();
+
     for (Function::iterator BB = FirstNewBlock, E = Caller->end(); BB != E;
          ++BB) {
       for (Instruction &I : *BB) {