From: Anders Carlsson Date: Mon, 21 Mar 2011 02:42:27 +0000 (+0000) Subject: As suggested by Nick Lewycky, ignore debugging intrinsics when trying to decide wheth... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=262a8627870c38f385944fc2ed9ae365347adf47;p=oota-llvm.git As suggested by Nick Lewycky, ignore debugging intrinsics when trying to decide whether a destructor is empty or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127985 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index 60ede4f6d53..d8212e8894f 100644 --- a/lib/Transforms/IPO/GlobalOpt.cpp +++ b/lib/Transforms/IPO/GlobalOpt.cpp @@ -2742,6 +2742,13 @@ static bool cxxDtorIsEmpty(const Function &Fn, if (!CalledFn) return false; + if (unsigned IntrinsicID = CalledFn->getIntrinsicID()) { + // Ignore debug intrinsics. + if (IntrinsicID == llvm::Intrinsic::dbg_declare || + IntrinsicID == llvm::Intrinsic::dbg_value) + continue; + } + // Don't treat recursive functions as empty. if (!CalledFunctions.insert(CalledFn)) return false;