diff options
Diffstat (limited to 'contrib/llvm/lib/Transforms/IPO/PruneEH.cpp')
-rw-r--r-- | contrib/llvm/lib/Transforms/IPO/PruneEH.cpp | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp b/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp index 2aa3fa5..d9acb9b 100644 --- a/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp +++ b/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp @@ -90,10 +90,7 @@ static bool runImpl(CallGraphSCC &SCC, CallGraph &CG) { if (!F) { SCCMightUnwind = true; SCCMightReturn = true; - } else if (F->isDeclaration() || F->isInterposable()) { - // Note: isInterposable (as opposed to hasExactDefinition) is fine above, - // since we're not inferring new attributes here, but only using existing, - // assumed to be correct, function attributes. + } else if (!F->hasExactDefinition()) { SCCMightUnwind |= !F->doesNotThrow(); SCCMightReturn |= !F->doesNotReturn(); } else { |