From c6f42c21bca2c73f3828df63a3bd73ab7634343c Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 22 Dec 2016 04:11:08 -0600 Subject: [PATCH] insn_ids_reachable_from_start_without_intervening_barrier(): Can further narrow set of instructions by considering barriers at the shallower level. --- loopy/schedule/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/loopy/schedule/__init__.py b/loopy/schedule/__init__.py index 887cd3d22..fe6269d86 100644 --- a/loopy/schedule/__init__.py +++ b/loopy/schedule/__init__.py @@ -1553,7 +1553,9 @@ def insn_ids_reachable_from_start_without_intervening_barrier(schedule, kind): for sched_item in schedule: if isinstance(sched_item, EnterLoop): insn_ids_alive_at_level.append(set()) - seen_barrier_at_level.append(False) + # Barriers seen at the shallower level will also prevent + # instructions from being reached at the deeper level. + seen_barrier_at_level.append(seen_barrier_at_level[-1]) elif isinstance(sched_item, LeaveLoop): result |= insn_ids_alive_at_level.pop() seen_barrier_at_level.pop() -- GitLab