diff options
author | Chris Lattner <sabre@nondot.org> | 2009-02-12 07:06:42 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-02-12 07:06:42 +0000 |
commit | af9985c6b9d066cb70a0363fed699022d0ec196c (patch) | |
tree | 7f90188dc6cb669c9d4787150dd9292df8c2f602 /lib/Transforms/Utils/InlineFunction.cpp | |
parent | 0aefc0eb2ce18937351348f2aa3d74f27923b8f8 (diff) |
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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64364 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/InlineFunction.cpp')
-rw-r--r-- | lib/Transforms/Utils/InlineFunction.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Transforms/Utils/InlineFunction.cpp b/lib/Transforms/Utils/InlineFunction.cpp index 758b97ea91..a96c7ceaa8 100644 --- a/lib/Transforms/Utils/InlineFunction.cpp +++ b/lib/Transforms/Utils/InlineFunction.cpp @@ -203,10 +203,10 @@ bool llvm::InlineFunction(CallSite CS, CallGraph *CG, const TargetData *TD) { 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. |