Lines Matching refs:Function

177   mutable AssertingVH<Function> F;
182 FunctionNode(Function *F) in FunctionNode()
185 Function *getFunc() const { return F; } in getFunc()
190 void replaceBy(Function *G) const { in replaceBy()
245 bool insert(Function *NewFunction);
249 void remove(Function *F);
257 void replaceDirectCallers(Function *Old, Function *New);
262 void mergeTwoFunctions(Function *F, Function *G);
270 void eraseTail(Function *G);
279 void writeThunk(Function *F, Function *G);
282 void writeAlias(Function *F, Function *G);
286 bool writeThunkOrAlias(Function *F, Function *G);
289 void replaceFunctionInTree(const FunctionNode &FN, Function *G);
300 DenseMap<AssertingVH<Function>, FnTreeType::iterator> FNodesInTree;
328 Function *F1 = cast<Function>(*I); in doSanityCheck()
329 Function *F2 = cast<Function>(*J); in doSanityCheck()
350 Function *F3 = cast<Function>(*K); in doSanityCheck()
394 std::vector<std::pair<FunctionComparator::FunctionHash, Function *>> in runOnModule()
396 for (Function &Func : M) { in runOnModule()
404 [](const std::pair<FunctionComparator::FunctionHash, Function *> &a, in runOnModule()
405 const std::pair<FunctionComparator::FunctionHash, Function *> &b) { in runOnModule()
432 Function *F = cast<Function>(I); in runOnModule()
448 void MergeFunctions::replaceDirectCallers(Function *Old, Function *New) { in replaceDirectCallers()
532 void MergeFunctions::eraseTail(Function *G) { in eraseTail()
534 for (Function::iterator BBI = std::next(G->begin()), BBE = G->end(); in eraseTail()
659 static bool isThunkProfitable(Function * F) { in isThunkProfitable()
678 void MergeFunctions::writeThunk(Function *F, Function *G) { in writeThunk()
682 Function *NewG = nullptr; in writeThunk()
696 NewG = Function::Create(G->getFunctionType(), G->getLinkage(), in writeThunk()
702 Function *H = MergeFunctionsPDI ? G : NewG; in writeThunk()
752 static bool canCreateAliasFor(Function *F) { in canCreateAliasFor()
763 void MergeFunctions::writeAlias(Function *F, Function *G) { in writeAlias()
785 bool MergeFunctions::writeThunkOrAlias(Function *F, Function *G) { in writeThunkOrAlias()
798 void MergeFunctions::mergeTwoFunctions(Function *F, Function *G) { in mergeTwoFunctions()
810 Function *NewF = Function::Create(F->getFunctionType(), F->getLinkage(), in mergeTwoFunctions()
862 Function *G) { in replaceFunctionInTree()
863 Function *F = FN.getFunc(); in replaceFunctionInTree()
881 static bool isFuncOrderCorrect(const Function *F, const Function *G) { in isFuncOrderCorrect()
900 bool MergeFunctions::insert(Function *NewFunction) { in insert()
916 Function *F = OldF.getFunc(); in insert()
925 Function *DeleteF = NewFunction; in insert()
932 void MergeFunctions::remove(Function *F) { in remove()