From 967414c781b3d761d0e68d095cc07719f249deaa Mon Sep 17 00:00:00 2001 From: Matt Wala <wala1@illinois.edu> Date: Fri, 7 Apr 2017 01:19:45 -0500 Subject: [PATCH] find_most_recent_global_barrier(): Simplify by using recursive_insn_dep_map(). --- loopy/kernel/__init__.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/loopy/kernel/__init__.py b/loopy/kernel/__init__.py index a7b358698..9c4f86fb5 100644 --- a/loopy/kernel/__init__.py +++ b/loopy/kernel/__init__.py @@ -901,20 +901,14 @@ class LoopKernel(ImmutableRecordWithoutPickling): global_barrier_to_ordinal = dict( (b, i) for i, b in enumerate(self.global_barrier_order)) - def get_barrier_ordinal(barrier_id): - return (global_barrier_to_ordinal[barrier_id] - if barrier_id is not None - else -1) + barriers = set(dep + for dep in self.recursive_insn_dep_map()[insn_id] + if is_barrier(dep)) - direct_barrier_dependencies = set( - dep for dep in insn.depends_on if is_barrier(dep)) - - if len(direct_barrier_dependencies) > 0: - return max(direct_barrier_dependencies, key=get_barrier_ordinal) + if len(barriers) > 0: + return max(barriers, key=lambda b: global_barrier_to_ordinal[b]) else: - return max((self.find_most_recent_global_barrier(dep) - for dep in insn.depends_on), - key=get_barrier_ordinal) + return None @property @memoize_method -- GitLab