Lines Matching refs:F
123 for (const Function &F : M) { in orderModule() local
124 for (const Use &U : F.operands()) in orderModule()
138 for (const Function &F : M) in orderModule() local
139 orderValue(&F, OM); in orderModule()
148 for (const Function &F : M) { in orderModule() local
149 if (F.isDeclaration()) in orderModule()
154 for (const BasicBlock &BB : F) in orderModule()
156 for (const Argument &A : F.args()) in orderModule()
158 for (const BasicBlock &BB : F) in orderModule()
164 for (const BasicBlock &BB : F) in orderModule()
171 static void predictValueUseListOrderImpl(const Value *V, const Function *F, in predictValueUseListOrderImpl() argument
234 Stack.emplace_back(V, F, List.size()); in predictValueUseListOrderImpl()
240 static void predictValueUseListOrder(const Value *V, const Function *F, in predictValueUseListOrder() argument
251 predictValueUseListOrderImpl(V, F, IDPair.first, OM, Stack); in predictValueUseListOrder()
258 predictValueUseListOrder(Op, F, OM, Stack); in predictValueUseListOrder()
275 const Function &F = *I; in predictUseListOrder() local
276 if (F.isDeclaration()) in predictUseListOrder()
278 for (const BasicBlock &BB : F) in predictUseListOrder()
279 predictValueUseListOrder(&BB, &F, OM, Stack); in predictUseListOrder()
280 for (const Argument &A : F.args()) in predictUseListOrder()
281 predictValueUseListOrder(&A, &F, OM, Stack); in predictUseListOrder()
282 for (const BasicBlock &BB : F) in predictUseListOrder()
286 predictValueUseListOrder(Op, &F, OM, Stack); in predictUseListOrder()
287 for (const BasicBlock &BB : F) in predictUseListOrder()
289 predictValueUseListOrder(&I, &F, OM, Stack); in predictUseListOrder()
296 for (const Function &F : M) in predictUseListOrder() local
297 predictValueUseListOrder(&F, nullptr, OM, Stack); in predictUseListOrder()
309 for (const Function &F : M) { in predictUseListOrder() local
310 for (const Use &U : F.operands()) in predictUseListOrder()
332 for (const Function & F : M) { in ValueEnumerator() local
333 EnumerateValue(&F); in ValueEnumerator()
334 EnumerateAttributes(F.getAttributes()); in ValueEnumerator()
365 for (const Function &F : M) in ValueEnumerator() local
366 for (const Use &U : F.operands()) in ValueEnumerator()
392 for (const Function &F : M) { in ValueEnumerator() local
393 for (const Argument &A : F.args()) in ValueEnumerator()
398 F.getAllMetadata(MDs); in ValueEnumerator()
400 EnumerateMetadata(F.isDeclaration() ? nullptr : &F, I.second); in ValueEnumerator()
402 for (const BasicBlock &BB : F) in ValueEnumerator()
415 EnumerateMetadata(&F, MD->getMetadata()); in ValueEnumerator()
427 EnumerateMetadata(&F, MDs[i].second); in ValueEnumerator()
433 EnumerateMetadata(&F, Op); in ValueEnumerator()
513 OS << "Metadata: function = " << I->second.F << "\n"; in print()
569 unsigned ValueEnumerator::getMetadataFunctionID(const Function *F) const { in getMetadataFunctionID()
570 return F ? getValueID(F) + 1 : 0; in getMetadataFunctionID()
573 void ValueEnumerator::EnumerateMetadata(const Function *F, const Metadata *MD) { in EnumerateMetadata() argument
574 EnumerateMetadata(getMetadataFunctionID(F), MD); in EnumerateMetadata()
578 const Function &F, const LocalAsMetadata *Local) { in EnumerateFunctionLocalMetadata() argument
579 EnumerateFunctionLocalMetadata(getMetadataFunctionID(&F), Local); in EnumerateFunctionLocalMetadata()
589 if (!Entry.F) in dropFunctionFromMetadata()
593 Entry.F = 0; in dropFunctionFromMetadata()
612 void ValueEnumerator::EnumerateMetadata(unsigned F, const Metadata *MD) { in EnumerateMetadata() argument
622 if (const MDNode *N = enumerateMetadataImpl(F, MD)) in EnumerateMetadata()
632 [&](const Metadata *MD) { return enumerateMetadataImpl(F, MD); }); in EnumerateMetadata()
660 const MDNode *ValueEnumerator::enumerateMetadataImpl(unsigned F, const Metadata *MD) { in enumerateMetadataImpl() argument
668 auto Insertion = MetadataMap.insert(std::make_pair(MD, MDIndex(F))); in enumerateMetadataImpl()
672 if (Entry.hasDifferentFunction(F)) in enumerateMetadataImpl()
695 unsigned F, const LocalAsMetadata *Local) { in EnumerateFunctionLocalMetadata() argument
696 assert(F && "Expected a function"); in EnumerateFunctionLocalMetadata()
701 assert(Index.F == F && "Expected the same function"); in EnumerateFunctionLocalMetadata()
706 Index.F = F; in EnumerateFunctionLocalMetadata()
749 return std::make_tuple(LHS.F, getMetadataTypeOrder(LHS.get(MDs)), LHS.ID) < in organizeMetadata()
750 std::make_tuple(RHS.F, getMetadataTypeOrder(RHS.get(MDs)), RHS.ID); in organizeMetadata()
757 for (unsigned I = 0, E = Order.size(); I != E && !Order[I].F; ++I) { in organizeMetadata()
775 unsigned F = Order[I].F; in organizeMetadata() local
777 PrevF = F; in organizeMetadata()
778 } else if (PrevF != F) { in organizeMetadata()
784 PrevF = F; in organizeMetadata()
797 void ValueEnumerator::incorporateFunctionMetadata(const Function &F) { in incorporateFunctionMetadata() argument
800 auto R = FunctionMDInfo.lookup(getValueID(&F) + 1); in incorporateFunctionMetadata()
945 void ValueEnumerator::incorporateFunction(const Function &F) { in incorporateFunction() argument
951 incorporateFunctionMetadata(F); in incorporateFunction()
954 for (const auto &I : F.args()) in incorporateFunction()
960 for (const BasicBlock &BB : F) { in incorporateFunction()
975 EnumerateAttributes(F.getAttributes()); in incorporateFunction()
981 for (const BasicBlock &BB : F) { in incorporateFunction()
1001 EnumerateFunctionLocalMetadata(F, FnLocalMDVector[i]); in incorporateFunction()
1020 static void IncorporateFunctionInfoGlobalBBIDs(const Function *F, in IncorporateFunctionInfoGlobalBBIDs() argument
1023 for (const BasicBlock &BB : *F) in IncorporateFunctionInfoGlobalBBIDs()