@@ -24,6 +24,7 @@ def optimize_halospots(iet, **kwargs):
2424 merged and moved around in order to improve the halo exchange performance.
2525 """
2626 iet = _drop_reduction_halospots (iet )
27+ # TODO: _hoist_invariant and _merge_halospots are both slow
2728 iet = _hoist_invariant (iet )
2829 iet = _merge_halospots (iet )
2930 iet = _drop_if_unwritten (iet , ** kwargs )
@@ -81,6 +82,8 @@ def _hoist_invariant(iet):
8182 cond_mapper = _make_cond_mapper (iet )
8283 iter_mapper = _filter_iter_mapper (iet )
8384
85+ # from IPython import embed; embed()
86+
8487 for it , halo_spots in iter_mapper .items ():
8588 for hs0 , hs1 in combinations (halo_spots , r = 2 ):
8689 if _check_control_flow (hs0 , hs1 , cond_mapper ):
@@ -157,6 +160,7 @@ def _merge_halospots(iet):
157160
158161 for f , v in hs1 .fmapper .items ():
159162 for dep in scope .d_flow .project (f ):
163+ # NOTE: The else clause gets skipped if this is ever true
160164 if not any (rule (dep , hs1 , v .loc_indices ) for rule in rules ):
161165 break
162166 else :
0 commit comments