From 61b77e5b74cab61c38557173aa3d172b7ae855da Mon Sep 17 00:00:00 2001 From: jdsteve2 Date: Sun, 22 Mar 2020 16:12:04 -0500 Subject: [PATCH] add remove_any_newly_unused_inames(transformation_func) decorator --- loopy/transform/iname.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/loopy/transform/iname.py b/loopy/transform/iname.py index 91170647b..a061ca111 100644 --- a/loopy/transform/iname.py +++ b/loopy/transform/iname.py @@ -1238,6 +1238,23 @@ def remove_unused_inames(knl, inames=None): return knl + +def remove_any_newly_unused_inames(transformation_func): + + def wrapper(knl, *args, **kwargs): + # determine which inames were already unused + inames_already_unused = knl.all_inames() - get_used_inames(knl) + + # call transform + transformed_knl = transformation_func(knl, *args, **kwargs) + + # Remove inames that are unused due to transform + return remove_unused_inames( + transformed_knl, + transformed_knl.all_inames()-inames_already_unused) + + return wrapper + # }}} -- GitLab