Lines Matching refs:F
145 Function &F = *I++; in simplifyExternals() local
146 if (F.isDeclaration() && F.use_empty()) { in simplifyExternals()
147 F.eraseFromParent(); in simplifyExternals()
151 if (!F.isDeclaration() || F.getFunctionType() == EmptyFT || in simplifyExternals()
153 F.getName().startswith("llvm.")) in simplifyExternals()
158 F.getAddressSpace(), "", &M); in simplifyExternals()
159 NewF->setVisibility(F.getVisibility()); in simplifyExternals()
160 NewF->takeName(&F); in simplifyExternals()
161 F.replaceAllUsesWith(ConstantExpr::getBitCast(NewF, F.getType())); in simplifyExternals()
162 F.eraseFromParent(); in simplifyExternals()
188 if (auto *F = dyn_cast<Function>(C)) in forEachVirtualFunction() local
189 return Fn(F); in forEachVirtualFunction()
249 forEachVirtualFunction(GV.getInitializer(), [&](Function *F) { in splitAndWriteThinLTOBitcode() argument
250 auto *RT = dyn_cast<IntegerType>(F->getReturnType()); in splitAndWriteThinLTOBitcode()
251 if (!RT || RT->getBitWidth() > 64 || F->arg_empty() || in splitAndWriteThinLTOBitcode()
252 !F->arg_begin()->use_empty()) in splitAndWriteThinLTOBitcode()
254 for (auto &Arg : make_range(std::next(F->arg_begin()), F->arg_end())) { in splitAndWriteThinLTOBitcode()
259 if (!F->isDeclaration() && in splitAndWriteThinLTOBitcode()
260 computeFunctionBodyMemoryAccess(*F, AARGetter(*F)) == MAK_ReadNone) in splitAndWriteThinLTOBitcode()
261 EligibleVirtualFns.insert(F); in splitAndWriteThinLTOBitcode()
271 if (auto *F = dyn_cast<Function>(GV)) in splitAndWriteThinLTOBitcode() local
272 return EligibleVirtualFns.count(F); in splitAndWriteThinLTOBitcode()
280 for (Function &F : *MergedM) in splitAndWriteThinLTOBitcode()
281 if (!F.isDeclaration()) { in splitAndWriteThinLTOBitcode()
285 F.setLinkage(GlobalValue::AvailableExternallyLinkage); in splitAndWriteThinLTOBitcode()
286 F.setComdat(nullptr); in splitAndWriteThinLTOBitcode()
290 for (auto &F : M) in splitAndWriteThinLTOBitcode() local
291 if ((!F.hasLocalLinkage() || F.hasAddressTaken()) && HasTypeMetadata(&F)) in splitAndWriteThinLTOBitcode()
292 CfiFunctions.insert(&F); in splitAndWriteThinLTOBitcode()
312 Function &F = *cast<Function>(V); in splitAndWriteThinLTOBitcode() local
314 F.getMetadata(LLVMContext::MD_type, Types); in splitAndWriteThinLTOBitcode()
317 Elts.push_back(MDString::get(Ctx, F.getName())); in splitAndWriteThinLTOBitcode()
319 if (!F.isDeclarationForLinker()) in splitAndWriteThinLTOBitcode()
321 else if (F.isWeakForLinker()) in splitAndWriteThinLTOBitcode()
343 auto *F = cast<Function>(A.getAliasee()); in splitAndWriteThinLTOBitcode() local
347 MDString::get(Ctx, F->getName()), in splitAndWriteThinLTOBitcode()
365 Function *F = M.getFunction(Name); in splitAndWriteThinLTOBitcode() local
366 if (!F || F->use_empty()) in splitAndWriteThinLTOBitcode()
516 [&FAM](Function &F) -> AAResults & { in run() argument
517 return FAM.getResult<AAManager>(F); in run()