From 3d3f0a71dcba474c251c68779d85dc3f6ed9d432 Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Fri, 21 Sep 2018 13:42:45 +0200
Subject: [PATCH] Do not collect necessary stage 1 collection before discarding
 integral for trivial conditionals

---
 python/dune/perftool/sumfact/accumulation.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/python/dune/perftool/sumfact/accumulation.py b/python/dune/perftool/sumfact/accumulation.py
index 61e39ffa..c943d80c 100644
--- a/python/dune/perftool/sumfact/accumulation.py
+++ b/python/dune/perftool/sumfact/accumulation.py
@@ -381,9 +381,6 @@ def generate_accumulation_instruction(expr, visitor):
     test_info = visitor.test_info
     trial_info = visitor.trial_info
 
-    # Cache all stage 1 sum factorization kernels used in this expression
-    SumfactCollectMapper()(expr)
-
     # Number of basis functions per direction
     leaf_element = test_info.element
     from ufl import MixedElement
@@ -405,6 +402,9 @@ def generate_accumulation_instruction(expr, visitor):
     if False in predicates:
         return
 
+    # Cache all stage 1 sum factorization kernels used in this expression
+    SumfactCollectMapper()(expr)
+
     insn_dep = None
 
     from dune.perftool.pdelab.localoperator import determine_accumulation_space
-- 
GitLab