diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Analysis/IPA/CallGraph.cpp | 4 | ||||
-rw-r--r-- | lib/Transforms/IPO/DeadArgumentElimination.cpp | 12 |
2 files changed, 6 insertions, 10 deletions
diff --git a/lib/Analysis/IPA/CallGraph.cpp b/lib/Analysis/IPA/CallGraph.cpp index eaa0d0181a..19d0fd5190 100644 --- a/lib/Analysis/IPA/CallGraph.cpp +++ b/lib/Analysis/IPA/CallGraph.cpp @@ -26,9 +26,7 @@ using namespace llvm; /// takes the address of the function. static bool isOnlyADirectCall(Function *F, CallSite CS) { if (!CS.getInstruction()) return false; - for (CallSite::arg_iterator I = CS.arg_begin(), E = CS.arg_end(); I != E; ++I) - if (*I == F) return false; - return true; + return !CS.hasArgument(F); } namespace { diff --git a/lib/Transforms/IPO/DeadArgumentElimination.cpp b/lib/Transforms/IPO/DeadArgumentElimination.cpp index 1ca5a3982a..2f075ba30d 100644 --- a/lib/Transforms/IPO/DeadArgumentElimination.cpp +++ b/lib/Transforms/IPO/DeadArgumentElimination.cpp @@ -331,13 +331,11 @@ void DAE::SurveyFunction(Function &F) { } // If the function is PASSED IN as an argument, its address has been taken - for (CallSite::arg_iterator AI = CS.arg_begin(), E = CS.arg_end(); - AI != E; ++AI) - if (AI->get() == &F) { - FunctionIntrinsicallyLive = true; - break; - } - if (FunctionIntrinsicallyLive) break; + + if (CS.hasArgument(&F)) { + FunctionIntrinsicallyLive = true; + break; + } } if (FunctionIntrinsicallyLive) { |