Lines Matching defs:F
116 for (const Function &F : reverse(M))
117 orderValue(&F, OM);
125 for (const Function &F : M) {
126 if (F.isDeclaration())
131 for (const BasicBlock &BB : F)
136 for (const BasicBlock &BB : F)
159 for (const Argument &A : F.args())
161 for (const BasicBlock &BB : F)
173 static void predictValueUseListOrderImpl(const Value *V, const Function *F,
225 Stack.emplace_back(V, F, List.size());
231 static void predictValueUseListOrder(const Value *V, const Function *F,
242 predictValueUseListOrderImpl(V, F, IDPair.first, OM, Stack);
249 predictValueUseListOrder(Op, F, OM, Stack);
252 predictValueUseListOrder(CE->getShuffleMaskForBitcode(), F, OM,
271 for (const Function &F : llvm::reverse(M)) {
274 predictValueUseListOrder(VAM->getValue(), &F, OM, Stack);
277 predictValueUseListOrder(VAM->getValue(), &F, OM, Stack);
280 if (F.isDeclaration())
282 for (const BasicBlock &BB : F)
283 predictValueUseListOrder(&BB, &F, OM, Stack);
284 for (const Argument &A : F.args())
285 predictValueUseListOrder(&A, &F, OM, Stack);
286 for (const BasicBlock &BB : F) {
295 predictValueUseListOrder(Op, &F, OM, Stack);
300 predictValueUseListOrder(SVI->getShuffleMaskForBitcode(), &F, OM,
302 predictValueUseListOrder(&I, &F, OM, Stack);
311 for (const Function &F : M)
312 predictValueUseListOrder(&F, nullptr, OM, Stack);
324 for (const Function &F : M) {
325 for (const Use &U : F.operands())
349 for (const Function & F : M) {
350 EnumerateValue(&F);
351 EnumerateType(F.getValueType());
352 EnumerateAttributes(F.getAttributes());
387 for (const Function &F : M)
388 for (const Use &U : F.operands())
414 for (const Function &F : M) {
415 for (const Argument &A : F.args())
420 F.getAllMetadata(MDs);
422 EnumerateMetadata(F.isDeclaration() ? nullptr : &F, I.second);
424 for (const BasicBlock &BB : F)
434 EnumerateMetadata(&F, VAM);
440 EnumerateMetadata(&F, MD);
445 EnumerateMetadata(&F, DLR->getLabel());
446 EnumerateMetadata(&F, &*DLR->getDebugLoc());
452 EnumerateMetadata(&F, DVR.getExpression());
453 EnumerateMetadata(&F, DVR.getVariable());
454 EnumerateMetadata(&F, &*DVR.getDebugLoc());
457 EnumerateMetadata(&F, DVR.getAssignID());
458 EnumerateMetadata(&F, DVR.getAddressExpression());
486 EnumerateMetadata(&F, MDs[i].second);
492 EnumerateMetadata(&F, Op);
571 OS << "Metadata: function = " << I.second.F << "\n";
627 unsigned ValueEnumerator::getMetadataFunctionID(const Function *F) const {
628 return F ? getValueID(F) + 1 : 0;
631 void ValueEnumerator::EnumerateMetadata(const Function *F, const Metadata *MD) {
632 EnumerateMetadata(getMetadataFunctionID(F), MD);
636 const Function &F, const LocalAsMetadata *Local) {
637 EnumerateFunctionLocalMetadata(getMetadataFunctionID(&F), Local);
641 const Function &F, const DIArgList *ArgList) {
642 EnumerateFunctionLocalListMetadata(getMetadataFunctionID(&F), ArgList);
652 if (!Entry.F)
656 Entry.F = 0;
675 void ValueEnumerator::EnumerateMetadata(unsigned F, const Metadata *MD) {
685 if (const MDNode *N = enumerateMetadataImpl(F, MD))
695 [&](const Metadata *MD) { return enumerateMetadataImpl(F, MD); });
723 const MDNode *ValueEnumerator::enumerateMetadataImpl(unsigned F, const Metadata *MD) {
731 auto Insertion = MetadataMap.insert(std::make_pair(MD, MDIndex(F)));
734 // Already mapped. If F doesn't match the function tag, drop it.
735 if (Entry.hasDifferentFunction(F))
758 unsigned F, const LocalAsMetadata *Local) {
759 assert(F && "Expected a function");
764 assert(Index.F == F && "Expected the same function");
769 Index.F = F;
778 unsigned F, const DIArgList *ArgList) {
779 assert(F && "Expected a function");
784 assert(Index.F == F && "Expected the same function");
792 assert(MetadataMap[VAM].F == F &&
799 EnumerateMetadata(F, VAM);
804 Index.F = F;
845 return std::make_tuple(LHS.F, getMetadataTypeOrder(LHS.get(MDs)), LHS.ID) <
846 std::make_tuple(RHS.F, getMetadataTypeOrder(RHS.get(MDs)), RHS.ID);
854 for (unsigned I = 0, E = Order.size(); I != E && !Order[I].F; ++I) {
872 unsigned F = Order[I].F;
874 PrevF = F;
875 } else if (PrevF != F) {
881 PrevF = F;
894 void ValueEnumerator::incorporateFunctionMetadata(const Function &F) {
897 auto R = FunctionMDInfo.lookup(getValueID(&F) + 1);
1058 void ValueEnumerator::incorporateFunction(const Function &F) {
1064 incorporateFunctionMetadata(F);
1067 for (const auto &I : F.args()) {
1079 for (const BasicBlock &BB : F) {
1097 EnumerateAttributes(F.getAttributes());
1123 for (const BasicBlock &BB : F) {
1151 EnumerateFunctionLocalMetadata(F, Local);
1156 EnumerateFunctionLocalListMetadata(F, ArgList);
1174 static void IncorporateFunctionInfoGlobalBBIDs(const Function *F,
1177 for (const BasicBlock &BB : *F)