Lines Matching refs:F

30 static bool lowerLoadRelative(Function &F) {  in lowerLoadRelative()  argument
31 if (F.use_empty()) in lowerLoadRelative()
35 Type *Int32Ty = Type::getInt32Ty(F.getContext()); in lowerLoadRelative()
37 Type *Int8Ty = Type::getInt8Ty(F.getContext()); in lowerLoadRelative()
39 for (Use &U : llvm::make_early_inc_range(F.uses())) { in lowerLoadRelative()
41 if (!CI || CI->getCalledOperand() != &F) in lowerLoadRelative()
62 static CallInst::TailCallKind getOverridingTailCallKind(const Function &F) { in getOverridingTailCallKind() argument
63 objcarc::ARCInstKind Kind = objcarc::GetFunctionClass(&F); in getOverridingTailCallKind()
71 static bool lowerObjCCall(Function &F, const char *NewFn, in lowerObjCCall() argument
73 assert(IntrinsicInst::mayLowerToFunctionCall(F.getIntrinsicID()) && in lowerObjCCall()
75 if (F.use_empty()) in lowerObjCCall()
80 Module *M = F.getParent(); in lowerObjCCall()
81 FunctionCallee FCache = M->getOrInsertFunction(NewFn, F.getFunctionType()); in lowerObjCCall()
84 Fn->setLinkage(F.getLinkage()); in lowerObjCCall()
92 CallInst::TailCallKind OverridingTCK = getOverridingTailCallKind(F); in lowerObjCCall()
94 for (Use &U : llvm::make_early_inc_range(F.uses())) { in lowerObjCCall()
97 if (CB->getCalledFunction() != &F) { in lowerObjCCall()
138 for (Function &F : M) { in lowerIntrinsics()
139 if (F.getName().startswith("llvm.load.relative.")) { in lowerIntrinsics()
140 Changed |= lowerLoadRelative(F); in lowerIntrinsics()
143 switch (F.getIntrinsicID()) { in lowerIntrinsics()
147 Changed |= lowerObjCCall(F, "objc_autorelease"); in lowerIntrinsics()
150 Changed |= lowerObjCCall(F, "objc_autoreleasePoolPop"); in lowerIntrinsics()
153 Changed |= lowerObjCCall(F, "objc_autoreleasePoolPush"); in lowerIntrinsics()
156 Changed |= lowerObjCCall(F, "objc_autoreleaseReturnValue"); in lowerIntrinsics()
159 Changed |= lowerObjCCall(F, "objc_copyWeak"); in lowerIntrinsics()
162 Changed |= lowerObjCCall(F, "objc_destroyWeak"); in lowerIntrinsics()
165 Changed |= lowerObjCCall(F, "objc_initWeak"); in lowerIntrinsics()
168 Changed |= lowerObjCCall(F, "objc_loadWeak"); in lowerIntrinsics()
171 Changed |= lowerObjCCall(F, "objc_loadWeakRetained"); in lowerIntrinsics()
174 Changed |= lowerObjCCall(F, "objc_moveWeak"); in lowerIntrinsics()
177 Changed |= lowerObjCCall(F, "objc_release", true); in lowerIntrinsics()
180 Changed |= lowerObjCCall(F, "objc_retain", true); in lowerIntrinsics()
183 Changed |= lowerObjCCall(F, "objc_retainAutorelease"); in lowerIntrinsics()
186 Changed |= lowerObjCCall(F, "objc_retainAutoreleaseReturnValue"); in lowerIntrinsics()
189 Changed |= lowerObjCCall(F, "objc_retainAutoreleasedReturnValue"); in lowerIntrinsics()
192 Changed |= lowerObjCCall(F, "objc_retainBlock"); in lowerIntrinsics()
195 Changed |= lowerObjCCall(F, "objc_storeStrong"); in lowerIntrinsics()
198 Changed |= lowerObjCCall(F, "objc_storeWeak"); in lowerIntrinsics()
201 Changed |= lowerObjCCall(F, "objc_unsafeClaimAutoreleasedReturnValue"); in lowerIntrinsics()
204 Changed |= lowerObjCCall(F, "objc_retainedObject"); in lowerIntrinsics()
207 Changed |= lowerObjCCall(F, "objc_unretainedObject"); in lowerIntrinsics()
210 Changed |= lowerObjCCall(F, "objc_unretainedPointer"); in lowerIntrinsics()
213 Changed |= lowerObjCCall(F, "objc_retain_autorelease"); in lowerIntrinsics()
216 Changed |= lowerObjCCall(F, "objc_sync_enter"); in lowerIntrinsics()
219 Changed |= lowerObjCCall(F, "objc_sync_exit"); in lowerIntrinsics()