Skip to content

Commit 4e8ab94

Browse files
committed
Change static-vars flag to meet CI/CD
1 parent a603ed8 commit 4e8ab94

6 files changed

Lines changed: 20 additions & 20 deletions

File tree

m2isar/backends/etiss/instruction_generator.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def generate_arg_str(arg: arch.FnParam):
2424
arg_name = f" {arg.name}" if arg.name is not None else ""
2525
return f'{instruction_utils.data_type_map[arg.ty.kind]}{actual_size(arg.ty.size)}{arg_name}'
2626

27-
def generate_functions(core: arch.CoreDef, static_vars: bool, decls_only: bool, generate_coverage: bool):
27+
def generate_functions(core: arch.CoreDef, static_scalars: bool, decls_only: bool, generate_coverage: bool):
2828
"""Return a generator object to generate function behavior code. Uses function
2929
definitions in the core object.
3030
"""
@@ -50,7 +50,7 @@ def generate_functions(core: arch.CoreDef, static_vars: bool, decls_only: bool,
5050
# set up a transformer context and generate code
5151
context = instruction_utils.TransformerContext(core.parameters, core.memories, core.memory_aliases, core.register_banks,
5252
core.register_aliases, fn_def.args, fn_def.attributes, core.functions,
53-
0, core_default_width, core_name, static_vars, core.intrinsics, generate_coverage, True)
53+
0, core_default_width, core_name, static_scalars, core.intrinsics, generate_coverage, True)
5454

5555
logger.debug("generating code for %s", fn_name)
5656

@@ -142,7 +142,7 @@ def generate_fields(core_default_width, instr_def: arch.Instruction):
142142

143143
return (fields_code, asm_printer_code, seen_fields, enc_idx)
144144

145-
def generate_instruction_callback(core: arch.CoreDef, instr_def: arch.Instruction, fields, static_vars: bool, block_end_on: BlockEndType, generate_coverage: bool):
145+
def generate_instruction_callback(core: arch.CoreDef, instr_def: arch.Instruction, fields, static_scalars: bool, block_end_on: BlockEndType, generate_coverage: bool):
146146
visitor = InstructionTransformVisitor()
147147

148148
instr_name = instr_def.name
@@ -154,7 +154,7 @@ def generate_instruction_callback(core: arch.CoreDef, instr_def: arch.Instructio
154154
callback_template = Template(filename=str(template_dir/'etiss_instruction_callback.mako'))
155155

156156
context = instruction_utils.TransformerContext(core.parameters, core.memories, core.memory_aliases, core.register_banks, core.register_aliases, instr_def.fields, instr_def.attributes,
157-
core.functions, enc_idx, core_default_width, core_name, static_vars, core.intrinsics, generate_coverage, False)
157+
core.functions, enc_idx, core_default_width, core_name, static_scalars, core.intrinsics, generate_coverage, False)
158158

159159
# force a block end if necessary
160160
if ((attribute_info.InstrAttribute.NO_CONT in instr_def.attributes
@@ -189,7 +189,7 @@ def generate_instruction_callback(core: arch.CoreDef, instr_def: arch.Instructio
189189

190190
return callback_str
191191

192-
def generate_instructions(core: arch.CoreDef, static_vars: bool, block_end_on: BlockEndType, generate_coverage: bool):
192+
def generate_instructions(core: arch.CoreDef, static_scalars: bool, block_end_on: BlockEndType, generate_coverage: bool):
193193
"""Return a generator object to generate instruction behavior code. Uses instruction
194194
definitions in the core object.
195195
"""
@@ -246,7 +246,7 @@ def gen_rand_suffix(length: int = 8):
246246
instr_def.operation = new_op
247247
instr_def.throws = True
248248

249-
callback_str = generate_instruction_callback(core, instr_def, fields, static_vars, block_end_on, generate_coverage)
249+
callback_str = generate_instruction_callback(core, instr_def, fields, static_scalars, block_end_on, generate_coverage)
250250

251251
# render code for whole instruction
252252
templ_str = instr_template.render(

m2isar/backends/etiss/instruction_transform.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ def _(self, expr: behav.Break, context: TransformerContext):
180180
def _(self, expr: behav.VarDefinition, context: TransformerContext):
181181
"""Generate a Variable definition. Calculates the actual required data width and generates
182182
a variable instantiation."""
183-
if context.static_vars:
183+
if context.static_scalars:
184184
if context.ignore_static:
185185
static = attribute_info.AccessAttribute.RW
186186
else:
@@ -716,7 +716,7 @@ def _(self, expr: behav.NamedReference, context: TransformerContext):
716716
assert isinstance(referred_var.ty, type_info.PrimitiveType)
717717
signed = referred_var.ty.kind == type_info.TypeKind.INT
718718
size = referred_var.ty.size
719-
if context.static_vars:
719+
if context.static_scalars:
720720
static &= referred_var.attributes.get("static")
721721

722722
elif isinstance(referred_var, arch.Parameter):

m2isar/backends/etiss/instruction_utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ class TransformerContext:
153153
def __init__(self, parameters: "dict[str, arch.Parameter]", memories: "dict[str, arch.Memory]", memory_aliases: "dict[str, arch.Alias]",
154154
registers: "dict[str, arch.Memory]", register_aliases: "dict[str, arch.Memory]", fields: "dict[str, arch.BitFieldDescr]",
155155
attributes: "list[attribute_info.InstrAttribute]", functions: "dict[str, arch.Function]", instr_size: int, native_size: int,
156-
arch_name: str, static_vars: bool, intrinsics, generate_coverage: bool, ignore_static: bool = False):
156+
arch_name: str, static_scalars: bool, intrinsics, generate_coverage: bool, ignore_static: bool = False):
157157

158158
self.parameters = parameters
159159
self.memories = memories
@@ -167,7 +167,7 @@ def __init__(self, parameters: "dict[str, arch.Parameter]", memories: "dict[str,
167167
self.native_size = native_size
168168
self.arch_name = arch_name
169169
self.intrinsics = intrinsics
170-
self.static_vars = static_vars
170+
self.static_scalars = static_scalars
171171
self.generate_coverage = generate_coverage
172172

173173
self.ignore_static = ignore_static

m2isar/backends/etiss/instruction_writer.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
logger = logging.getLogger("instruction_writer")
2323

24-
def write_functions(core: arch.CoreDef, start_time: str, output_path: pathlib.Path, static_vars: bool, generate_coverage: bool):
24+
def write_functions(core: arch.CoreDef, start_time: str, output_path: pathlib.Path, static_scalars: bool, generate_coverage: bool):
2525
"""Generate and write the {CoreName}Funcs.h file for ETISS."""
2626

2727
fn_set_header_template = Template(filename=str(template_dir/'etiss_function_set_header.mako'))
@@ -44,7 +44,7 @@ def write_functions(core: arch.CoreDef, start_time: str, output_path: pathlib.Pa
4444
funcs_f.write(" // clang-format off\n")
4545

4646
# generate and write function declarations
47-
for fn_name, templ_str in generate_functions(core, static_vars, True, generate_coverage):
47+
for fn_name, templ_str in generate_functions(core, static_scalars, True, generate_coverage):
4848
logger.debug("writing function decl %s", fn_name)
4949
funcs_f.write(templ_str)
5050

@@ -63,12 +63,12 @@ def write_functions(core: arch.CoreDef, start_time: str, output_path: pathlib.Pa
6363
funcs_f.write("// clang-format off\n")
6464

6565
# generate and write function definitions
66-
for fn_name, templ_str in generate_functions(core, static_vars, False, generate_coverage):
66+
for fn_name, templ_str in generate_functions(core, static_scalars, False, generate_coverage):
6767
logger.debug("writing function def %s", fn_name)
6868
funcs_f.write(templ_str)
6969
funcs_f.write("// clang-format on\n")
7070

71-
def write_instructions(core: arch.CoreDef, start_time: str, output_path: pathlib.Path, separate: bool, static_vars: bool,
71+
def write_instructions(core: arch.CoreDef, start_time: str, output_path: pathlib.Path, separate: bool, static_scalars: bool,
7272
block_end_on: BlockEndType, generate_coverage: bool):
7373
"""Generate and write the instruction model C++ files for ETISS."""
7474

@@ -103,7 +103,7 @@ def write_instructions(core: arch.CoreDef, start_time: str, output_path: pathlib
103103
out_f.write(instr_set_str)
104104

105105
# generate instruction behavior models
106-
for instr_name, _, ext_name, templ_str in generate_instructions(core, static_vars, block_end_on, generate_coverage):
106+
for instr_name, _, ext_name, templ_str in generate_instructions(core, static_scalars, block_end_on, generate_coverage):
107107
logger.debug("writing instruction %s", instr_name)
108108
outfiles.get(ext_name, outfiles['default']).write(templ_str)
109109
for outfile in outfiles.values():

m2isar/backends/etiss/pickle_writer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ def main():
2222
for core_name, core in models.items():
2323
logger.info("processing model %s", core_name)
2424

25-
functions[core_name] = dict(instruction_generator.generate_functions(core, args.static_vars))
26-
instructions[core_name] = {(code, mask): (instr_name, ext_name, templ_str) for instr_name, (code, mask), ext_name, templ_str in instruction_generator.generate_instructions(core, args.static_vars, BlockEndType[args.block_end_on.upper()])}
25+
functions[core_name] = dict(instruction_generator.generate_functions(core, args.static_scalars))
26+
instructions[core_name] = {(code, mask): (instr_name, ext_name, templ_str) for instr_name, (code, mask), ext_name, templ_str in instruction_generator.generate_instructions(core, args.static_scalars, BlockEndType[args.block_end_on.upper()])}
2727

2828
output_path = output_base_path / spec_name
2929
output_path.mkdir(exist_ok=True, parents=True)

m2isar/backends/etiss/writer.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def setup():
8282
parser = argparse.ArgumentParser()
8383
parser.add_argument('top_level', help="A .m2isarmodel file containing the models to generate.")
8484
parser.add_argument('--separate', action=BooleanOptionalAction, default=True, help="Generate separate .cpp files for each instruction set.")
85-
parser.add_argument("--static-vars", action=BooleanOptionalAction, default=True, help="Enable static detection for Variables.")
85+
parser.add_argument("--static-scalars", action=BooleanOptionalAction, default=True, help="Enable static detection for Variables.")
8686
parser.add_argument("--block-end-on", default="none", choices=[x.name.lower() for x in BlockEndType],
8787
help="Force end translation blocks on no instructions, uncoditional jumps or all jumps.")
8888
parser.add_argument("--coverage", action=BooleanOptionalAction, default=False, help="Generate coverage tracking code into model.")
@@ -181,8 +181,8 @@ def main():
181181
write_arch_lib(core, start_time, output_path)
182182
write_arch_cmake(core, start_time, output_path, args.separate)
183183
write_arch_gdbcore(core, start_time, output_path, gdb_mapping)
184-
write_functions(core, start_time, output_path, args.static_vars, args.coverage)
185-
write_instructions(core, start_time, output_path, args.separate, args.static_vars, BlockEndType[args.block_end_on.upper()], args.coverage)
184+
write_functions(core, start_time, output_path, args.static_scalars, args.coverage)
185+
write_instructions(core, start_time, output_path, args.separate, args.static_scalars, BlockEndType[args.block_end_on.upper()], args.coverage)
186186

187187
with open(output_path / "coverage.csv", "w") as f:
188188
for c_id, c_info in sorted(CodeInfoTracker.tracker[core_name].items()):

0 commit comments

Comments
 (0)