Lines Matching defs:F

125   for (const Function &F : M) {
126 for (const Use &U : F.operands())
140 for (const Function &F : M) {
141 if (F.isDeclaration())
143 for (const BasicBlock &BB : F)
168 for (const Function &F : M)
169 orderValue(&F, OM);
178 for (const Function &F : M) {
179 if (F.isDeclaration())
184 for (const BasicBlock &BB : F)
186 for (const Argument &A : F.args())
188 for (const BasicBlock &BB : F)
197 for (const BasicBlock &BB : F)
204 static void predictValueUseListOrderImpl(const Value *V, const Function *F,
268 Stack.emplace_back(V, F, List.size());
274 static void predictValueUseListOrder(const Value *V, const Function *F,
285 predictValueUseListOrderImpl(V, F, IDPair.first, OM, Stack);
292 predictValueUseListOrder(Op, F, OM, Stack);
295 predictValueUseListOrder(CE->getShuffleMaskForBitcode(), F, OM,
314 for (const Function &F : llvm::reverse(M)) {
315 if (F.isDeclaration())
317 for (const BasicBlock &BB : F)
318 predictValueUseListOrder(&BB, &F, OM, Stack);
319 for (const Argument &A : F.args())
320 predictValueUseListOrder(&A, &F, OM, Stack);
321 for (const BasicBlock &BB : F)
325 predictValueUseListOrder(Op, &F, OM, Stack);
327 predictValueUseListOrder(SVI->getShuffleMaskForBitcode(), &F, OM,
330 for (const BasicBlock &BB : F)
332 predictValueUseListOrder(&I, &F, OM, Stack);
339 for (const Function &F : M)
340 predictValueUseListOrder(&F, nullptr, OM, Stack);
352 for (const Function &F : M) {
353 for (const Use &U : F.operands())
372 for (const Function &F : M) {
373 EnumerateValue(&F);
374 EnumerateType(F.getValueType());
376 TypedPointerType::get(F.getFunctionType(), F.getAddressSpace()));
377 EnumerateAttributes(F.getAttributes());
411 for (const Function &F : M)
412 for (const Use &U : F.operands())
438 for (const Function &F : M) {
439 for (const Argument &A : F.args())
444 F.getAllMetadata(MDs);
446 EnumerateMetadata(F.isDeclaration() ? nullptr : &F, I.second);
448 for (const BasicBlock &BB : F)
465 EnumerateMetadata(&F, VAM);
469 EnumerateMetadata(&F, MD->getMetadata());
487 EnumerateMetadata(&F, MDs[i].second);
493 EnumerateMetadata(&F, Op);
568 OS << "Metadata: function = " << I.second.F << "\n";
594 unsigned ValueEnumerator::getMetadataFunctionID(const Function *F) const {
595 return F ? getValueID(F) + 1 : 0;
598 void ValueEnumerator::EnumerateMetadata(const Function *F, const Metadata *MD) {
599 EnumerateMetadata(getMetadataFunctionID(F), MD);
603 const Function &F, const LocalAsMetadata *Local) {
604 EnumerateFunctionLocalMetadata(getMetadataFunctionID(&F), Local);
608 const Function &F, const DIArgList *ArgList) {
609 EnumerateFunctionLocalListMetadata(getMetadataFunctionID(&F), ArgList);
619 if (!Entry.F)
623 Entry.F = 0;
642 void ValueEnumerator::EnumerateMetadata(unsigned F, const Metadata *MD) {
652 if (const MDNode *N = enumerateMetadataImpl(F, MD))
662 [&](const Metadata *MD) { return enumerateMetadataImpl(F, MD); });
690 const MDNode *ValueEnumerator::enumerateMetadataImpl(unsigned F,
699 auto Insertion = MetadataMap.insert(std::make_pair(MD, MDIndex(F)));
702 // Already mapped. If F doesn't match the function tag, drop it.
703 if (Entry.hasDifferentFunction(F))
726 unsigned F, const LocalAsMetadata *Local) {
727 assert(F && "Expected a function");
732 assert(Index.F == F && "Expected the same function");
737 Index.F = F;
746 unsigned F, const DIArgList *ArgList) {
747 assert(F && "Expected a function");
752 assert(Index.F == F && "Expected the same function");
760 assert(MetadataMap[VAM].F == F &&
767 EnumerateMetadata(F, VAM);
772 Index.F = F;
813 return std::make_tuple(LHS.F, getMetadataTypeOrder(LHS.get(MDs)), LHS.ID) <
814 std::make_tuple(RHS.F, getMetadataTypeOrder(RHS.get(MDs)), RHS.ID);
822 for (unsigned I = 0, E = Order.size(); I != E && !Order[I].F; ++I) {
840 unsigned F = Order[I].F;
842 PrevF = F;
843 } else if (PrevF != F) {
849 PrevF = F;
862 void ValueEnumerator::incorporateFunctionMetadata(const Function &F) {
865 auto R = FunctionMDInfo.lookup(getValueID(&F) + 1);
1027 void ValueEnumerator::incorporateFunction(const Function &F) {
1033 incorporateFunctionMetadata(F);
1036 for (const auto &I : F.args()) {
1048 for (const BasicBlock &BB : F) {
1063 EnumerateAttributes(F.getAttributes());
1070 for (const BasicBlock &BB : F) {
1101 EnumerateFunctionLocalMetadata(F, FnLocalMDVector[i]);
1106 EnumerateFunctionLocalListMetadata(F, ArgList);
1125 const Function *F, DenseMap<const BasicBlock *, unsigned> &IDMap) {
1127 for (const BasicBlock &BB : *F)