aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Transforms/IPO/GlobalOpt.cpp7
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;