Lines Matching refs:Function
110 using SCCNodeSet = SmallSetVector<Function *, 8>;
160 checkFunctionMemoryAccess(Function &F, bool ThisBody, AAResults &AAR, in checkFunctionMemoryAccess()
252 MemoryEffects llvm::computeFunctionBodyMemoryAccess(Function &F, in computeFunctionBodyMemoryAccess()
260 SmallSet<Function *, 8> &Changed) { in addMemoryAttrs() argument
263 for (Function *F : SCCNodes) { in addMemoryAttrs()
283 for (Function *F : SCCNodes) { in addMemoryAttrs()
544 Function *F = CB->getCalledFunction(); in captured()
688 if (Function *F = CB.getCalledFunction()) in determinePointerAccessAttrs()
754 SmallSet<Function *, 8> &Changed) { in addArgumentReturnedAttrs() argument
756 for (Function *F : SCCNodes) { in addArgumentReturnedAttrs()
802 static bool addArgumentAttrsFromCallsites(Function &F) { in addArgumentAttrsFromCallsites()
871 SmallSet<Function *, 8> &Changed) { in addArgumentAttrs() argument
876 for (Function *F : SCCNodes) { in addArgumentAttrs()
1055 static bool isFunctionMallocLike(Function *F, const SCCNodeSet &SCCNodes) { in isFunctionMallocLike()
1120 SmallSet<Function *, 8> &Changed) { in addNoAliasAttrs() argument
1123 for (Function *F : SCCNodes) { in addNoAliasAttrs()
1143 for (Function *F : SCCNodes) { in addNoAliasAttrs()
1161 static bool isReturnNonNull(Function *F, const SCCNodeSet &SCCNodes, in isReturnNonNull()
1213 Function *Callee = CB.getCalledFunction(); in isReturnNonNull()
1233 SmallSet<Function *, 8> &Changed) { in addNonNullAttrs() argument
1240 for (Function *F : SCCNodes) { in addNonNullAttrs()
1275 for (Function *F : SCCNodes) { in addNonNullAttrs()
1290 SmallSet<Function *, 8> &Changed) { in addNoUndefAttrs() argument
1293 for (Function *F : SCCNodes) { in addNoUndefAttrs()
1365 std::function<bool(const Function &)> SkipFunction;
1371 std::function<void(Function &)> SetAttribute;
1381 std::function<bool(const Function &)> SkipFunc, in InferenceDescriptor()
1383 std::function<void(Function &)> SetAttr, in InferenceDescriptor()
1398 void run(const SCCNodeSet &SCCNodes, SmallSet<Function *, 8> &Changed);
1404 SmallSet<Function *, 8> &Changed) { in run() argument
1409 for (Function *F : SCCNodes) { in run()
1458 for (Function *F : SCCNodes) in run()
1493 if (Function *Callee = CI->getCalledFunction()) { in InstrBreaksNonThrowing()
1514 if (Function *Callee = CB->getCalledFunction()) in InstrBreaksNoFree()
1569 if (Function *Callee = CB->getCalledFunction()) in InstrBreaksNoSync()
1580 SmallSet<Function *, 8> &Changed) { in inferConvergent() argument
1591 [](const Function &F) { return !F.isConvergent(); }, in inferConvergent()
1596 [](Function &F) { in inferConvergent()
1611 SmallSet<Function *, 8> &Changed) { in inferAttrsFromFunctionBodies() argument
1623 [](const Function &F) { return F.doesNotThrow(); }, in inferAttrsFromFunctionBodies()
1628 [](Function &F) { in inferAttrsFromFunctionBodies()
1646 [](const Function &F) { return F.doesNotFreeMemory(); }, in inferAttrsFromFunctionBodies()
1651 [](Function &F) { in inferAttrsFromFunctionBodies()
1662 [](const Function &F) { return F.hasNoSync(); }, in inferAttrsFromFunctionBodies()
1667 [](Function &F) { in inferAttrsFromFunctionBodies()
1680 SmallSet<Function *, 8> &Changed) { in addNoRecurseAttrs() argument
1687 Function *F = *SCCNodes.begin(); in addNoRecurseAttrs()
1697 Function *Callee = CB->getCalledFunction(); in addNoRecurseAttrs()
1729 static bool canReturn(Function &F) { in canReturn()
1750 SmallSet<Function *, 8> &Changed) { in addNoReturnAttrs() argument
1751 for (Function *F : SCCNodes) { in addNoReturnAttrs()
1763 static bool functionWillReturn(const Function &F) { in functionWillReturn()
1794 SmallSet<Function *, 8> &Changed) { in addWillReturn() argument
1795 for (Function *F : SCCNodes) { in addWillReturn()
1805 static SCCNodesResult createSCCNodeSet(ArrayRef<Function *> Functions) { in createSCCNodeSet()
1808 for (Function *F : Functions) { in createSCCNodeSet()
1836 static SmallSet<Function *, 8>
1837 deriveAttrsInPostOrder(ArrayRef<Function *> Functions, AARGetterT &&AARGetter, in deriveAttrsInPostOrder()
1845 SmallSet<Function *, 8> Changed; in deriveAttrsInPostOrder()
1872 for (Function *F : Nodes.SCCNodes) in deriveAttrsInPostOrder()
1899 auto AARGetter = [&](Function &F) -> AAResults & { in run()
1903 SmallVector<Function *, 8> Functions; in run()
1918 for (Function *Changed : ChangedFunctions) { in run()
1936 PA.preserveSet<AllAnalysesOn<Function>>(); in run()
1950 SmallVector<Function *, 8> Functions; in runImpl()
1958 static bool addNoRecurseAttrsTopDown(Function &F) { in addNoRecurseAttrsTopDown()
1999 SmallVector<Function *, 16> Worklist; in deduceFunctionAttributeInRPO()
2005 Function &F = SCC.begin()->getFunction(); in deduceFunctionAttributeInRPO()