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
This commit is contained in:
Anders Carlsson 2011-03-21 02:42:27 +00:00
parent 35ee1c921c
commit 262a862787

View File

@ -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;