From af9985c6b9d066cb70a0363fed699022d0ec196c Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 12 Feb 2009 07:06:42 +0000 Subject: 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 --- lib/Transforms/Utils/InlineFunction.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/Transforms/Utils/InlineFunction.cpp') 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(TheCall) && !cast(TheCall)->isTailCall(); + !(isa(TheCall) && cast(TheCall)->isTailCall()); // If the call to the callee cannot throw, set the 'nounwind' flag on any // calls that we inline. -- cgit v1.2.3-18-g5258