Lines Matching refs:FI
152 auto FI = llvm::StructuralHashWithDifferences(Func, ignoreOp); in analyze() local
157 for (auto &Pair : *FI.IndexOperandHashMap) in analyze()
160 StableFunction SF(FI.FunctionHash, get_stable_name(Func.getName()).str(), in analyze()
161 M.getModuleIdentifier(), FI.IndexInstruction->size(), in analyze()
182 static Function *createMergedFunction(FuncMergeInfo &FI, in createMergedFunction() argument
187 auto *MergedFunc = FI.F; in createMergedFunction()
230 auto *Inst = FI.IndexInstruction->lookup(InstIndex); in createMergedFunction()
247 static void createThunk(FuncMergeInfo &FI, ArrayRef<Constant *> Params, in createThunk() argument
249 auto *Thunk = FI.F; in createThunk()
399 auto FI = llvm::StructuralHashWithDifferences(F, ignoreOp); in merge() local
400 if (Maps.contains(FI.FunctionHash)) in merge()
401 HashToFuncs[FI.FunctionHash].emplace_back(&F, std::move(FI)); in merge()
412 for (auto &[F, FI] : Funcs) { in merge()
415 if (RFS->InstCount != FI.IndexInstruction->size()) in merge()
429 if (!hasValidSharedConst(RFS.get(), FI)) in merge()
433 assert(SF->InstCount == FI.IndexInstruction->size()); in merge()
434 assert(hasValidSharedConst(SF.get(), FI)); in merge()
438 *FI.IndexOperandHashMap)) in merge()
445 if (!checkConstLocationCompatible(*SF, *FI.IndexInstruction, in merge()
451 FuncMergeInfos.emplace_back(SF.get(), F, FI.IndexInstruction.get()); in merge()