@@ -577,9 +577,10 @@ absl::StatusOr<double> EstimateAreaForNegatingNode(Node* n,
577577// into a single n-ary folding on the same destination. Note that binary
578578// foldings are sorted by benefit (e.g maximizing area savings) in descending
579579// order, meaning 'previous' is more important than 'next'.
580- bool CanFoldTogether (absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
581- mutual_exclusivity,
582- BinaryFoldingAction* next, BinaryFoldingAction* previous) {
580+ bool CanFoldTogether (
581+ const absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
582+ mutual_exclusivity,
583+ BinaryFoldingAction* next, BinaryFoldingAction* previous) {
583584 if (previous->GetTo () != next->GetTo ()) {
584585 return false ;
585586 }
@@ -726,7 +727,7 @@ absl::StatusOr<NaryFoldEstimate> SelectSubsetOfFolds(
726727absl::StatusOr<std::vector<std::unique_ptr<NaryFoldingAction>>>
727728ListOfAllFoldingActionsWithDestination (
728729 Node* n, FoldingGraph* folding_graph,
729- absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
730+ const absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
730731 mutual_exclusivity,
731732 const ResourceSharingPass::VisibilityAnalyses& visibility,
732733 const AreaEstimator& area_estimator,
@@ -818,7 +819,7 @@ ListOfAllFoldingActionsWithDestination(
818819absl::StatusOr<std::vector<std::unique_ptr<NaryFoldingAction>>>
819820ListOfFoldingActionsWithDestination (
820821 Node* n, FoldingGraph* folding_graph,
821- absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
822+ const absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
822823 mutual_exclusivity,
823824 const ResourceSharingPass::VisibilityAnalyses& visibility,
824825 const AreaEstimator& area_estimator,
@@ -975,7 +976,7 @@ absl::StatusOr<std::pair<std::vector<std::unique_ptr<NaryFoldingAction>>, bool>>
975976ResourceSharingPass::LegalizeSequenceOfFolding (
976977 absl::Span<const std::unique_ptr<NaryFoldingAction>>
977978 potential_folding_actions_to_perform,
978- absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
979+ const absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
979980 mutual_exclusivity,
980981 const NodeBackwardDependencyAnalysis& nda,
981982 std::optional<const AreaEstimator*> area_estimator,
@@ -1339,7 +1340,7 @@ void SortNodesInDescendingOrderOfTheirInDegree(std::vector<Node*>& nodes,
13391340absl::StatusOr<std::vector<std::unique_ptr<NaryFoldingAction>>>
13401341SelectFoldingActionsBasedOnInDegree (
13411342 OptimizationContext& context, FoldingGraph* folding_graph,
1342- absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
1343+ const absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
13431344 mutual_exclusivity,
13441345 const ResourceSharingPass::VisibilityAnalyses& visibility,
13451346 const NodeBackwardDependencyAnalysis& nda,
@@ -1457,7 +1458,7 @@ SelectFoldingActionsBasedOnInDegree(
14571458absl::StatusOr<std::vector<std::unique_ptr<NaryFoldingAction>>>
14581459SelectAllFoldingActions (
14591460 OptimizationContext& context, FoldingGraph* folding_graph,
1460- absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
1461+ const absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
14611462 mutual_exclusivity,
14621463 const ResourceSharingPass::VisibilityAnalyses& visibility,
14631464 const NodeBackwardDependencyAnalysis& nda,
@@ -1540,7 +1541,7 @@ SelectAllFoldingActions(
15401541absl::StatusOr<std::vector<std::unique_ptr<NaryFoldingAction>>>
15411542SelectRandomlyFoldingActions (
15421543 FoldingGraph* folding_graph,
1543- absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
1544+ const absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
15441545 mutual_exclusivity,
15451546 const ResourceSharingPass::Config& config,
15461547 const ResourceSharingPass::VisibilityAnalyses& visibility) {
@@ -1606,16 +1607,17 @@ SelectRandomlyFoldingActions(
16061607// their total order to perform them.
16071608// This is part of the profitability guard of the resource sharing pass.
16081609absl::StatusOr<std::vector<std::unique_ptr<NaryFoldingAction>>>
1609- SelectFoldingActions (OptimizationContext& context, FoldingGraph* folding_graph,
1610- ResourceSharingPass::ProfitabilityGuard heuristics,
1611- absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
1612- mutual_exclusivity,
1613- const ResourceSharingPass::VisibilityAnalyses& visibility,
1614- const NodeBackwardDependencyAnalysis& nda,
1615- const AreaEstimator& area_estimator,
1616- const CriticalPathDelayAnalysis& critical_path_delay,
1617- const ResourceSharingPass::Config& config,
1618- VisibilityEstimator* visibility_estimator) {
1610+ SelectFoldingActions (
1611+ OptimizationContext& context, FoldingGraph* folding_graph,
1612+ ResourceSharingPass::ProfitabilityGuard heuristics,
1613+ const absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
1614+ mutual_exclusivity,
1615+ const ResourceSharingPass::VisibilityAnalyses& visibility,
1616+ const NodeBackwardDependencyAnalysis& nda,
1617+ const AreaEstimator& area_estimator,
1618+ const CriticalPathDelayAnalysis& critical_path_delay,
1619+ const ResourceSharingPass::Config& config,
1620+ VisibilityEstimator* visibility_estimator) {
16191621 std::vector<std::unique_ptr<NaryFoldingAction>> folding_actions_to_perform;
16201622 VLOG (3 ) << " Choosing the best folding actions" ;
16211623
@@ -1696,7 +1698,7 @@ SelectFoldingActions(OptimizationContext& context, FoldingGraph* folding_graph,
16961698absl::StatusOr<std::vector<std::unique_ptr<NaryFoldingAction>>>
16971699ResourceSharingPass::SelectFoldingActions (
16981700 OptimizationContext& context, FoldingGraph* folding_graph,
1699- absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
1701+ const absl::flat_hash_set<ResourceSharingPass::MutuallyExclPair>&
17001702 mutual_exclusivity,
17011703 const VisibilityAnalyses& visibility,
17021704 const NodeBackwardDependencyAnalysis& nda,
0 commit comments