@@ -474,7 +474,7 @@ class IterativeIDESolver
474474 return true ;
475475 }
476476
477- auto NewEF = EF. joinWith ( std::move (LocalEF));
477+ auto NewEF = Problem. combine (EF, std::move (LocalEF));
478478 assert (NewEF != nullptr );
479479
480480 if (NewEF != EF) {
@@ -540,7 +540,7 @@ class IterativeIDESolver
540540 return ;
541541 }
542542
543- auto NewEF = EF. joinWith ( std::move (LocalEF));
543+ auto NewEF = Problem. combine (EF, std::move (LocalEF));
544544 assert (NewEF != nullptr );
545545
546546 if (NewEF != EF) {
@@ -622,10 +622,11 @@ class IterativeIDESolver
622622 auto FactId = FactCompressor.getOrInsert (Fact);
623623 auto EF = [&] {
624624 if constexpr (ComputeValues) {
625- return SourceEF. composeWith ( FECache.getNormalEdgeFunction (
625+ auto NEF = FECache.getNormalEdgeFunction (
626626 Problem, AtInstruction, CSFact, Succ, Fact,
627627 combineIds (AtInstructionId, SuccId),
628- combineIds (PropagatedFactId, FactId)));
628+ combineIds (PropagatedFactId, FactId));
629+ return Problem.extend (SourceEF, std::move (NEF));
629630 } else {
630631 return EdgeFunctionPtrType{};
631632 }
@@ -694,10 +695,11 @@ class IterativeIDESolver
694695
695696 auto EF = [&] {
696697 if constexpr (ComputeValues) {
697- return SourceEF. composeWith ( FECache.getCallToRetEdgeFunction (
698+ auto CEF = FECache.getCallToRetEdgeFunction (
698699 Problem, AtInstruction, CSFact, RetSite, Fact, Callees /* Vec*/ ,
699700 combineIds (AtInstructionId, RetSiteId),
700- combineIds (PropagatedFactId, FactId)));
701+ combineIds (PropagatedFactId, FactId));
702+ return Problem.extend (SourceEF, std::move (CEF));
701703 } else {
702704 return EdgeFunctionPtrType{};
703705 }
@@ -835,10 +837,11 @@ class IterativeIDESolver
835837
836838 auto CallEF = [&] {
837839 if constexpr (ComputeValues) {
838- return SourceEF. composeWith ( FECache.getCallEdgeFunction (
840+ auto CEF = FECache.getCallEdgeFunction (
839841 Problem, AtInstruction, CSFact, Callee, Fact,
840842 combineIds (AtInstructionId, CalleeId),
841- combineIds (CSFactId, FactId)));
843+ combineIds (CSFactId, FactId));
844+ return Problem.extend (SourceEF, std::move (CEF));
842845 } else {
843846 return EdgeFunctionPtrType{};
844847 }
@@ -900,7 +903,7 @@ class IterativeIDESolver
900903 Problem, AtInstruction, CSFact, RetSite, Fact,
901904 combineIds (AtInstructionId, RetSiteId),
902905 combineIds (CSFactId, FactId));
903- return EF ? SourceEF. composeWith ( std::move (EF)) : SourceEF;
906+ return EF ? Problem. extend (SourceEF, std::move (EF)) : SourceEF;
904907 } else {
905908 return EdgeFunctionPtrType{};
906909 }
@@ -939,8 +942,8 @@ class IterativeIDESolver
939942 Problem, CallSite, Callee, ExitInst, SummaryFact, RetSite,
940943 RetFact, ExitId, combineIds (CSId, RSId),
941944 combineIds (SummaryFactId, RetFactId));
942- return CallEF. composeWith ( Summary.second )
943- . composeWith ( std::move (RetEF));
945+ return Problem. extend (Problem. extend (CallEF, Summary.second ),
946+ std::move (RetEF));
944947 } else {
945948 return EdgeFunctionPtrType{};
946949 }
@@ -954,16 +957,15 @@ class IterativeIDESolver
954957 }
955958
956959 void processInterJobs () {
957-
958- llvm::errs () << " processInterJobs: " << CallWL.size ()
959- << " relevant calls\n " ;
960+ PHASAR_LOG_LEVEL (INFO, " processInterJobs: " << CallWL.size ()
961+ << " relevant calls" );
960962
961963 // / Here, no other job is running concurrently, so we save and reset the
962964 // / CallWL, such that we can start concurrent jobs in the loop below
963965 std::vector<uint64_t > RelevantCalls (CallWL.begin (), CallWL.end ());
964966
965967 scope_exit FinishedInterCalls = [] {
966- llvm::errs () << " > end inter calls\n " ;
968+ PHASAR_LOG_LEVEL (INFO, " > end inter calls" ) ;
967969 };
968970
969971 if constexpr (EnableStatistics) {
@@ -1250,14 +1252,14 @@ class IterativeIDESolver
12501252 }
12511253
12521254 void runGC () {
1253- llvm::errs () << " runGC() with " << CandidateFunctionsForGC.count ()
1254- << " candidates\n " ;
1255+ PHASAR_LOG_LEVEL (INFO, " runGC() with " << CandidateFunctionsForGC.count ()
1256+ << " candidates" ) ;
12551257
12561258 size_t NumCollectedFuns = 0 ;
12571259
12581260 scope_exit FinishGC = [&NumCollectedFuns] {
1259- llvm::errs () << " > Finished GC run (collected " << NumCollectedFuns
1260- << " functions)\n " ;
1261+ PHASAR_LOG_LEVEL (INFO, " > Finished GC run (collected " << NumCollectedFuns
1262+ << " functions)" ) ;
12611263 };
12621264
12631265 auto FinalCandidates = getCollectableFunctions ();
0 commit comments