Skip to content

Commit b137951

Browse files
committed
Refactor _amend_compiler_opts->app_required_opts
1 parent 0fccf8f commit b137951

File tree

1 file changed

+13
-16
lines changed

1 file changed

+13
-16
lines changed

tadashi/apps.py

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -79,21 +79,21 @@ def __init__(
7979
8080
"""
8181
self.source = Path(source)
82+
if compiler_options is None:
83+
compiler_options = []
84+
self.user_compiler_options = compiler_options
85+
self.ephemeral = ephemeral
86+
self.populate_scops = populate_scops
8287
if translator is None and populate_scops:
8388
translator = Pet()
84-
amended_options = self._amend_compiler_options(compiler_options)
8589
if populate_scops and translator:
86-
self.translator = translator.set_source(source, amended_options)
90+
options = self.app_required_options() + self.user_compiler_options
91+
self.translator = translator.set_source(source, options)
8792
else:
8893
self.translator = None
89-
self.user_compiler_options = compiler_options
90-
self.ephemeral = ephemeral
91-
self.populate_scops = populate_scops
9294

93-
def _amend_compiler_options(self, compiler_options: list[str] | None = None):
94-
if compiler_options is None:
95-
compiler_options = []
96-
return compiler_options
95+
def app_required_options(self) -> list[str]:
96+
return []
9797

9898
def __getstate__(self):
9999
"""This was probably needed for serialisation."""
@@ -143,7 +143,7 @@ def generate_code(
143143
new_file = self._source_with_infix(alt_infix)
144144
else:
145145
new_file = self._make_new_filename()
146-
options = self._amend_compiler_options(self.user_compiler_options)
146+
options = self.app_required_options() + self.user_compiler_options
147147
new_file = self.translator.generate_code(str(self.source), new_file, options)
148148
translator = copy.copy(self.translator) if populate_scops else None
149149
compiler_options = None
@@ -202,7 +202,7 @@ def compile(
202202
"""Compile the app so it can be measured/executed."""
203203
cmd = self.compile_cmd
204204
cmd += ["-o", f"{self.output_binary}{output_binary_suffix}"]
205-
cmd += self._amend_compiler_options(self.user_compiler_options)
205+
cmd += self.app_required_options() + self.user_compiler_options
206206
cmd += extra_compiler_options
207207
if verbose:
208208
print(f"{' '.join(cmd)}")
@@ -294,8 +294,6 @@ def __init__(
294294
if source is None:
295295
filename = Path(self.benchmark).with_suffix(".c").name
296296
source = self.base / self.benchmark / filename
297-
if compiler_options is None:
298-
compiler_options = []
299297
super().__init__(
300298
source,
301299
translator,
@@ -304,9 +302,8 @@ def __init__(
304302
populate_scops=populate_scops,
305303
)
306304

307-
def _amend_compiler_options(self, compiler_options: list[str] | None = None):
308-
compiler_options = super()._amend_compiler_options(compiler_options)
309-
return compiler_options + [
305+
def app_required_options(self) -> list[str]:
306+
return [
310307
f"-I{self.base / 'utilities'}",
311308
"-DPOLYBENCH_TIME",
312309
"-DPOLYBENCH_USE_RESTRICT",

0 commit comments

Comments
 (0)