diff --git a/loopy/transform/iname.py b/loopy/transform/iname.py index fb22df37a6215a8993f0a95cf88465c2ce8fe978..8cf16bfd330b3e425023573788bc68bc8a7275a2 100644 --- a/loopy/transform/iname.py +++ b/loopy/transform/iname.py @@ -987,10 +987,15 @@ def remove_unused_inames(knl, inames=None): # {{{ check which inames are unused + import loopy as lp + exp_knl = lp.expand_subst(knl) + inames = set(inames) used_inames = set() - for insn in knl.instructions: - used_inames.update(knl.insn_inames(insn.id)) + for insn in exp_knl.instructions: + used_inames.update( + exp_knl.insn_inames(insn.id) + | insn.reduction_inames()) unused_inames = inames - used_inames