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 (auto I = F.use_begin(), E = F.use_end(); I != E;) { in lowerLoadRelative()
42 if (!CI || CI->getCalledOperand() != &F) in lowerLoadRelative()
63 static CallInst::TailCallKind getOverridingTailCallKind(const Function &F) { in getOverridingTailCallKind() argument
64 objcarc::ARCInstKind Kind = objcarc::GetFunctionClass(&F); in getOverridingTailCallKind()
72 static bool lowerObjCCall(Function &F, const char *NewFn, in lowerObjCCall() argument
74 if (F.use_empty()) in lowerObjCCall()
79 Module *M = F.getParent(); in lowerObjCCall()
80 FunctionCallee FCache = M->getOrInsertFunction(NewFn, F.getFunctionType()); in lowerObjCCall()
83 Fn->setLinkage(F.getLinkage()); in lowerObjCCall()
91 CallInst::TailCallKind OverridingTCK = getOverridingTailCallKind(F); in lowerObjCCall()
93 for (auto I = F.use_begin(), E = F.use_end(); I != E;) { in lowerObjCCall()
123 for (Function &F : M) { in lowerIntrinsics()
124 if (F.getName().startswith("llvm.load.relative.")) { in lowerIntrinsics()
125 Changed |= lowerLoadRelative(F); in lowerIntrinsics()
128 switch (F.getIntrinsicID()) { in lowerIntrinsics()
132 Changed |= lowerObjCCall(F, "objc_autorelease"); in lowerIntrinsics()
135 Changed |= lowerObjCCall(F, "objc_autoreleasePoolPop"); in lowerIntrinsics()
138 Changed |= lowerObjCCall(F, "objc_autoreleasePoolPush"); in lowerIntrinsics()
141 Changed |= lowerObjCCall(F, "objc_autoreleaseReturnValue"); in lowerIntrinsics()
144 Changed |= lowerObjCCall(F, "objc_copyWeak"); in lowerIntrinsics()
147 Changed |= lowerObjCCall(F, "objc_destroyWeak"); in lowerIntrinsics()
150 Changed |= lowerObjCCall(F, "objc_initWeak"); in lowerIntrinsics()
153 Changed |= lowerObjCCall(F, "objc_loadWeak"); in lowerIntrinsics()
156 Changed |= lowerObjCCall(F, "objc_loadWeakRetained"); in lowerIntrinsics()
159 Changed |= lowerObjCCall(F, "objc_moveWeak"); in lowerIntrinsics()
162 Changed |= lowerObjCCall(F, "objc_release", true); in lowerIntrinsics()
165 Changed |= lowerObjCCall(F, "objc_retain", true); in lowerIntrinsics()
168 Changed |= lowerObjCCall(F, "objc_retainAutorelease"); in lowerIntrinsics()
171 Changed |= lowerObjCCall(F, "objc_retainAutoreleaseReturnValue"); in lowerIntrinsics()
174 Changed |= lowerObjCCall(F, "objc_retainAutoreleasedReturnValue"); in lowerIntrinsics()
177 Changed |= lowerObjCCall(F, "objc_retainBlock"); in lowerIntrinsics()
180 Changed |= lowerObjCCall(F, "objc_storeStrong"); in lowerIntrinsics()
183 Changed |= lowerObjCCall(F, "objc_storeWeak"); in lowerIntrinsics()
186 Changed |= lowerObjCCall(F, "objc_unsafeClaimAutoreleasedReturnValue"); in lowerIntrinsics()
189 Changed |= lowerObjCCall(F, "objc_retainedObject"); in lowerIntrinsics()
192 Changed |= lowerObjCCall(F, "objc_unretainedObject"); in lowerIntrinsics()
195 Changed |= lowerObjCCall(F, "objc_unretainedPointer"); in lowerIntrinsics()
198 Changed |= lowerObjCCall(F, "objc_retain_autorelease"); in lowerIntrinsics()
201 Changed |= lowerObjCCall(F, "objc_sync_enter"); in lowerIntrinsics()
204 Changed |= lowerObjCCall(F, "objc_sync_exit"); in lowerIntrinsics()