Lines Matching refs:Function

35 #include "llvm/IR/Function.h"
190 function_ref<AssumptionCache &(Function &)> GetAC,
191 function_ref<AssumptionCache *(Function &)> LookupAC,
192 function_ref<TargetTransformInfo &(Function &)> GTTI,
193 function_ref<const TargetLibraryInfo &(Function &)> GTLI,
195 function_ref<BlockFrequencyInfo &(Function &)> GBFI = nullptr)
207 std::pair<bool, Function *> unswitchFunction(Function &F);
216 FunctionCloner(Function *F, FunctionOutliningInfo *OI,
218 function_ref<AssumptionCache *(Function &)> LookupAC,
219 function_ref<TargetTransformInfo &(Function &)> GetTTI);
220 FunctionCloner(Function *F, FunctionOutliningMultiRegionInfo *OMRI,
222 function_ref<AssumptionCache *(Function &)> LookupAC,
223 function_ref<TargetTransformInfo &(Function &)> GetTTI);
240 Function *doSingleRegionFunctionOutlining();
242 Function *OrigFunc = nullptr;
243 Function *ClonedFunc = nullptr;
245 typedef std::pair<Function *, BasicBlock *> FuncBodyCallerPair;
260 function_ref<AssumptionCache *(Function &)> LookupAC;
261 function_ref<TargetTransformInfo &(Function &)> GetTTI;
266 function_ref<AssumptionCache &(Function &)> GetAssumptionCache;
267 function_ref<AssumptionCache *(Function &)> LookupAssumptionCache;
268 function_ref<TargetTransformInfo &(Function &)> GetTTI;
269 function_ref<BlockFrequencyInfo &(Function &)> GetBFI;
270 function_ref<const TargetLibraryInfo &(Function &)> GetTLI;
294 computeCallsiteToProfCountMap(Function *DuplicateFunction,
309 static CallBase *getOneCallSiteTo(Function &F) {
314 std::tuple<DebugLoc, BasicBlock *> getOneDebugLoc(Function &F) const {
337 computeOutliningInfo(Function &F) const;
340 computeOutliningColdRegionsInfo(Function &F,
348 Function &F, OptimizationRemarkEmitter &ORE) const {
517 PartialInlinerImpl::computeOutliningInfo(Function &F) const {
597 "Function Entry must be the first in Entries vector");
664 static bool hasProfileData(const Function &F, const FunctionOutliningInfo &OI) {
723 Function *Callee = CB.getCalledFunction();
729 Function *Caller = CB.getCaller();
868 Function *OutlinedFunc = FuncBBPair.first;
901 Function *DuplicateFunction,
905 Function *CurrentCaller = nullptr;
909 auto ComputeCurrBFI = [&,this](Function *Caller) {
928 Function *Caller = CB->getCaller();
945 Function *F, FunctionOutliningInfo *OI, OptimizationRemarkEmitter &ORE,
946 function_ref<AssumptionCache *(Function &)> LookupAC,
947 function_ref<TargetTransformInfo &(Function &)> GetTTI)
970 Function *F, FunctionOutliningMultiRegionInfo *OI,
972 function_ref<AssumptionCache *(Function &)> LookupAC,
973 function_ref<TargetTransformInfo &(Function &)> GetTTI)
1134 if (Function *OutlinedFunc = CE.extractCodeRegion(CEAC)) {
1158 Function *
1195 Function *OutlinedFunc =
1226 Function *Func = FuncBBPair.first;
1232 std::pair<bool, Function *> PartialInlinerImpl::unswitchFunction(Function &F) {
1270 dbgs() << ">>>>>> Outlined (Cloned) Function >>>>>>\n";
1272 dbgs() << "<<<<<< Outlined (Cloned) Function <<<<<<\n";
1291 Function *OutlinedFunction = Cloner.doSingleRegionFunctionOutlining();
1342 << ore::NV("Function", Cloner.OrigFunc)
1415 Cloner.OrigFunc->setEntryCount(Function::ProfileCount(
1431 std::vector<Function *> Worklist;
1433 for (Function &F : M)
1439 Function *CurrFunc = Worklist.back();
1445 std::pair<bool, Function *> Result = unswitchFunction(*CurrFunc);
1458 auto GetAssumptionCache = [&FAM](Function &F) -> AssumptionCache & {
1462 auto LookupAssumptionCache = [&FAM](Function &F) -> AssumptionCache * {
1466 auto GetBFI = [&FAM](Function &F) -> BlockFrequencyInfo & {
1470 auto GetTTI = [&FAM](Function &F) -> TargetTransformInfo & {
1474 auto GetTLI = [&FAM](Function &F) -> TargetLibraryInfo & {