From e98cb4cc28b93a0b64198272def597635ef1915d Mon Sep 17 00:00:00 2001 From: Marcel Koch <marcel.koch@uni-muenster.de> Date: Thu, 19 Apr 2018 10:32:04 +0200 Subject: [PATCH] raise error if `next` is not successful --- python/dune/perftool/blockstructured/vectorization.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/python/dune/perftool/blockstructured/vectorization.py b/python/dune/perftool/blockstructured/vectorization.py index 32debee0..ee76a4b8 100644 --- a/python/dune/perftool/blockstructured/vectorization.py +++ b/python/dune/perftool/blockstructured/vectorization.py @@ -252,9 +252,13 @@ def add_vcl_access(knl, iname_inner): else: if insn.id in accum_insns: assignee_alias = insn.assignee - assignee_vec = next((expr for expr in insn.expression.children - if isinstance(expr, prim.Subscript) and - expr.aggregate.name.replace('vec', 'alias') == assignee_alias.aggregate.name)) + try: + assignee_vec = next((expr for expr in insn.expression.children + if isinstance(expr, prim.Subscript) and + expr.aggregate.name.replace('vec', 'alias') == assignee_alias.aggregate.name)) + except StopIteration: + from dune.perftool.error import PerftoolVectorizationError + raise PerftoolVectorizationError new_insns.append(insn.copy(assignee=assignee_vec, depends_on=insn.depends_on | read_dependencies[insn.id])) else: -- GitLab