summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Analysis/IPA/CallGraph.cpp4
-rw-r--r--lib/Transforms/IPO/DeadArgumentElimination.cpp12
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) {