summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2011-03-21 02:42:27 +0000
committerAnders Carlsson <andersca@mac.com>2011-03-21 02:42:27 +0000
commit701822a48e4c82c5a08f97fce97da683f6e29105 (patch)
tree6d30345fbe4ca6ee29ef5684f4f47c16dedd1811 /llvm/lib/Transforms
parentd078183725a6bd64c2a37304c87bc80afe7b8ec0 (diff)
downloadbcm5719-llvm-701822a48e4c82c5a08f97fce97da683f6e29105.tar.gz
bcm5719-llvm-701822a48e4c82c5a08f97fce97da683f6e29105.zip
As suggested by Nick Lewycky, ignore debugging intrinsics when trying to decide whether a destructor is empty or not.
llvm-svn: 127985
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/IPO/GlobalOpt.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/IPO/GlobalOpt.cpp b/llvm/lib/Transforms/IPO/GlobalOpt.cpp
index 60ede4f6d53..d8212e8894f 100644
--- a/llvm/lib/Transforms/IPO/GlobalOpt.cpp
+++ b/llvm/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;
OpenPOWER on IntegriCloud