diff options
-rw-r--r-- | lib/Transforms/IPO/GlobalOpt.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index 60ede4f6d5..d8212e8894 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; |