diff --git a/loopy/precompute.py b/loopy/precompute.py index ce6711f073eec20e13b93089b5fb309e751aee42..04461bce969d0b95d2939a01dd936d32bf66c0c9 100644 --- a/loopy/precompute.py +++ b/loopy/precompute.py @@ -344,11 +344,11 @@ def precompute(kernel, subst_use, sweep_inames=[], within=None, # {{{ process invocations in footprint generators, start access_descriptors - access_descriptors = [] - if footprint_generators: from pymbolic.primitives import Variable, Call + access_descriptors = [] + for fpg in footprint_generators: if isinstance(fpg, Variable): args = () @@ -374,8 +374,10 @@ def precompute(kernel, subst_use, sweep_inames=[], within=None, import loopy as lp for insn in kernel.instructions: if isinstance(insn, lp.ExpressionInstruction): + invg(insn.assignee, insn.id, insn.tags) invg(insn.expression, insn.id, insn.tags) + access_descriptors = invg.access_descriptors if not access_descriptors: raise RuntimeError("no invocations of '%s' found" % subst_name)