From 554021a94236c4de6cb4c6f9df63b2d03c5e9aed Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Thu, 25 Jun 2015 13:44:10 -0500 Subject: [PATCH] Make switch to turn off Fortran auto dependencies --- loopy/frontend/fortran/__init__.py | 5 +++-- loopy/frontend/fortran/translator.py | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/loopy/frontend/fortran/__init__.py b/loopy/frontend/fortran/__init__.py index aad2328b0..2626069a0 100644 --- a/loopy/frontend/fortran/__init__.py +++ b/loopy/frontend/fortran/__init__.py @@ -211,7 +211,8 @@ def parse_transformed_fortran(source, free_form=True, strict=True, return proc_dict["RESULT"] -def parse_fortran(source, filename="<floopy code>", free_form=True, strict=True): +def parse_fortran(source, filename="<floopy code>", free_form=True, strict=True, + auto_dependencies=True): """ :returns: a list of :class:`loopy.LoopKernel` objects """ @@ -231,7 +232,7 @@ def parse_fortran(source, filename="<floopy code>", free_form=True, strict=True) "and returned invalid data (Sorry!)") from loopy.frontend.fortran.translator import F2LoopyTranslator - f2loopy = F2LoopyTranslator(filename) + f2loopy = F2LoopyTranslator(filename, auto_dependencies=auto_dependencies) f2loopy(tree) return f2loopy.make_kernels() diff --git a/loopy/frontend/fortran/translator.py b/loopy/frontend/fortran/translator.py index 895606aa3..f34c69978 100644 --- a/loopy/frontend/fortran/translator.py +++ b/loopy/frontend/fortran/translator.py @@ -197,9 +197,11 @@ class Scope(object): # {{{ translator class F2LoopyTranslator(FTreeWalkerBase): - def __init__(self, filename): + def __init__(self, filename, auto_dependencies): FTreeWalkerBase.__init__(self) + self.auto_dependencies = auto_dependencies + self.scope_stack = [] self.isl_context = isl.Context() @@ -223,7 +225,7 @@ class F2LoopyTranslator(FTreeWalkerBase): new_id = "insn%d" % self.insn_id_counter self.insn_id_counter += 1 - if scope.previous_instruction_id: + if self.auto_dependencies and scope.previous_instruction_id: insn_deps = frozenset([scope.previous_instruction_id]) else: insn_deps = frozenset() -- GitLab