/// 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 {
}
// 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) {