[llvm-commits] [llvm] r64520 - in /llvm/branches/release_25: lib/Transforms/Utils/InlineFunction.cpp test/Transforms/Inline/inline-invoke-tail.ll

Tanya Lattner tonic at nondot.org
Fri Feb 13 17:04:03 PST 2009


Author: tbrethou
Date: Fri Feb 13 19:04:03 2009
New Revision: 64520

URL: http://llvm.org/viewvc/llvm-project?rev=64520&view=rev
Log:
Merge 64364 from mainline.
Fix a nasty bug (PR3550) where the inline pass could incorrectly mark 
calls with the tail marker when inlining them through an invoke.  Patch,
testcase, and perfect analysis by Jay Foad!

Added:
    llvm/branches/release_25/test/Transforms/Inline/inline-invoke-tail.ll
      - copied unchanged from r64364, llvm/trunk/test/Transforms/Inline/inline-invoke-tail.ll
Modified:
    llvm/branches/release_25/lib/Transforms/Utils/InlineFunction.cpp

Modified: llvm/branches/release_25/lib/Transforms/Utils/InlineFunction.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_25/lib/Transforms/Utils/InlineFunction.cpp?rev=64520&r1=64519&r2=64520&view=diff

==============================================================================
--- llvm/branches/release_25/lib/Transforms/Utils/InlineFunction.cpp (original)
+++ llvm/branches/release_25/lib/Transforms/Utils/InlineFunction.cpp Fri Feb 13 19:04:03 2009
@@ -203,10 +203,10 @@
       CalledFunc->getFunctionType()->isVarArg()) return false;
 
 
-  // If the call to the callee is a non-tail call, we must clear the 'tail'
+  // If the call to the callee is not a tail call, we must clear the 'tail'
   // flags on any calls that we inline.
   bool MustClearTailCallFlags =
-    isa<CallInst>(TheCall) && !cast<CallInst>(TheCall)->isTailCall();
+    !(isa<CallInst>(TheCall) && cast<CallInst>(TheCall)->isTailCall());
 
   // If the call to the callee cannot throw, set the 'nounwind' flag on any
   // calls that we inline.





More information about the llvm-commits mailing list