diff --git a/lib/Analysis/IPA/CallGraph.cpp b/lib/Analysis/IPA/CallGraph.cpp
index eaa0d01..19d0fd5 100644
--- a/lib/Analysis/IPA/CallGraph.cpp
+++ b/lib/Analysis/IPA/CallGraph.cpp
@@ -26,9 +26,7 @@
 /// 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 1ca5a39..2f075ba 100644
--- a/lib/Transforms/IPO/DeadArgumentElimination.cpp
+++ b/lib/Transforms/IPO/DeadArgumentElimination.cpp
@@ -331,13 +331,11 @@
           }
 
       // 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) {
