Lines Matching refs:F

63   bool expandMemIntrinsicUses(Function &F) const;
69 static bool lowerLoadRelative(Function &F) { in lowerLoadRelative() argument
70 if (F.use_empty()) in lowerLoadRelative()
74 Type *Int32Ty = Type::getInt32Ty(F.getContext()); in lowerLoadRelative()
76 for (Use &U : llvm::make_early_inc_range(F.uses())) { in lowerLoadRelative()
78 if (!CI || CI->getCalledOperand() != &F) in lowerLoadRelative()
98 static CallInst::TailCallKind getOverridingTailCallKind(const Function &F) { in getOverridingTailCallKind() argument
99 objcarc::ARCInstKind Kind = objcarc::GetFunctionClass(&F); in getOverridingTailCallKind()
107 static bool lowerObjCCall(Function &F, const char *NewFn, in lowerObjCCall() argument
109 assert(IntrinsicInst::mayLowerToFunctionCall(F.getIntrinsicID()) && in lowerObjCCall()
111 if (F.use_empty()) in lowerObjCCall()
116 Module *M = F.getParent(); in lowerObjCCall()
117 FunctionCallee FCache = M->getOrInsertFunction(NewFn, F.getFunctionType()); in lowerObjCCall()
120 Fn->setLinkage(F.getLinkage()); in lowerObjCCall()
128 CallInst::TailCallKind OverridingTCK = getOverridingTailCallKind(F); in lowerObjCCall()
130 for (Use &U : llvm::make_early_inc_range(F.uses())) { in lowerObjCCall()
133 if (CB->getCalledFunction() != &F) { in lowerObjCCall()
169 if (F.getAttributes().hasAttrSomewhere(Attribute::Returned, &Index) && in lowerObjCCall()
199 static bool canEmitLibcall(const TargetMachine &TM, Function *F, in canEmitLibcall() argument
202 const TargetLowering *TLI = TM.getSubtargetImpl(*F)->getTargetLowering(); in canEmitLibcall()
208 bool PreISelIntrinsicLowering::expandMemIntrinsicUses(Function &F) const { in expandMemIntrinsicUses()
209 Intrinsic::ID ID = F.getIntrinsicID(); in expandMemIntrinsicUses()
212 for (User *U : llvm::make_early_inc_range(F.users())) { in expandMemIntrinsicUses()
276 for (Function &F : M) { in lowerIntrinsics()
277 switch (F.getIntrinsicID()) { in lowerIntrinsics()
283 Changed |= expandMemIntrinsicUses(F); in lowerIntrinsics()
286 Changed |= lowerLoadRelative(F); in lowerIntrinsics()
289 Changed |= lowerObjCCall(F, "objc_autorelease"); in lowerIntrinsics()
292 Changed |= lowerObjCCall(F, "objc_autoreleasePoolPop"); in lowerIntrinsics()
295 Changed |= lowerObjCCall(F, "objc_autoreleasePoolPush"); in lowerIntrinsics()
298 Changed |= lowerObjCCall(F, "objc_autoreleaseReturnValue"); in lowerIntrinsics()
301 Changed |= lowerObjCCall(F, "objc_copyWeak"); in lowerIntrinsics()
304 Changed |= lowerObjCCall(F, "objc_destroyWeak"); in lowerIntrinsics()
307 Changed |= lowerObjCCall(F, "objc_initWeak"); in lowerIntrinsics()
310 Changed |= lowerObjCCall(F, "objc_loadWeak"); in lowerIntrinsics()
313 Changed |= lowerObjCCall(F, "objc_loadWeakRetained"); in lowerIntrinsics()
316 Changed |= lowerObjCCall(F, "objc_moveWeak"); in lowerIntrinsics()
319 Changed |= lowerObjCCall(F, "objc_release", true); in lowerIntrinsics()
322 Changed |= lowerObjCCall(F, "objc_retain", true); in lowerIntrinsics()
325 Changed |= lowerObjCCall(F, "objc_retainAutorelease"); in lowerIntrinsics()
328 Changed |= lowerObjCCall(F, "objc_retainAutoreleaseReturnValue"); in lowerIntrinsics()
331 Changed |= lowerObjCCall(F, "objc_retainAutoreleasedReturnValue"); in lowerIntrinsics()
334 Changed |= lowerObjCCall(F, "objc_retainBlock"); in lowerIntrinsics()
337 Changed |= lowerObjCCall(F, "objc_storeStrong"); in lowerIntrinsics()
340 Changed |= lowerObjCCall(F, "objc_storeWeak"); in lowerIntrinsics()
343 Changed |= lowerObjCCall(F, "objc_unsafeClaimAutoreleasedReturnValue"); in lowerIntrinsics()
346 Changed |= lowerObjCCall(F, "objc_retainedObject"); in lowerIntrinsics()
349 Changed |= lowerObjCCall(F, "objc_unretainedObject"); in lowerIntrinsics()
352 Changed |= lowerObjCCall(F, "objc_unretainedPointer"); in lowerIntrinsics()
355 Changed |= lowerObjCCall(F, "objc_retain_autorelease"); in lowerIntrinsics()
358 Changed |= lowerObjCCall(F, "objc_sync_enter"); in lowerIntrinsics()
361 Changed |= lowerObjCCall(F, "objc_sync_exit"); in lowerIntrinsics()
382 auto LookupTTI = [this](Function &F) -> TargetTransformInfo & { in runOnModule() argument
383 return this->getAnalysis<TargetTransformInfoWrapperPass>().getTTI(F); in runOnModule()
413 auto LookupTTI = [&FAM](Function &F) -> TargetTransformInfo & { in run() argument
414 return FAM.getResult<TargetIRAnalysis>(F); in run()