From d6e0011f34a4a78e4d8e7e69e5a92a73a0ac725b Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Thu, 13 Aug 2015 10:26:11 -0500
Subject: [PATCH] Better scheduler error reporting around loop_insn_dep_map

---
 loopy/schedule.py | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/loopy/schedule.py b/loopy/schedule.py
index 9766f34fc..d9a3676d2 100644
--- a/loopy/schedule.py
+++ b/loopy/schedule.py
@@ -655,7 +655,16 @@ def generate_loop_schedules_internal(
                     not sched_state.loop_insn_dep_map.get(iname, set())
                     <= sched_state.scheduled_insn_ids):
                 if debug_mode:
-                    print("scheduling %s prohibited by loop dependency map" % iname)
+                    print(
+                            "scheduling {iname} prohibited by loop dependency map "
+                            "(needs '{needed_insns})'"
+                            .format(
+                                iname=iname,
+                                needed_insns=", ".join(
+                                    sched_state.loop_insn_dep_map.get(iname, set())
+                                    -
+                                    sched_state.scheduled_insn_ids)))
+
                 continue
 
             iname_home_domain = kernel.domains[kernel.get_home_domain_index(iname)]
@@ -1269,7 +1278,9 @@ def generate_loop_schedules(kernel, debug_args={}):
                 #         reverse=False, kind="global")
 
                 # for sched_item in gen_sched:
-                #     if isinstance(sched_item, Barrier) and sched_item.kind == "global":
+                #     if (
+                #             isinstance(sched_item, Barrier)
+                #             and sched_item.kind == "global"):
                 #         raise LoopyError("kernel requires a global barrier %s"
                 #                 % sched_item.comment)
 
-- 
GitLab