Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
PhilippvK committed Jan 16, 2025
1 parent fa61cac commit aa99a38
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 7 deletions.
2 changes: 1 addition & 1 deletion seal5/backends/riscv_intrinsics/writer.py
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ def main():
metrics["n_skipped"] += 1
metrics["skipped_sets"].append(set_name)
continue
assert riscv_settings is not None
assert riscv_settings_ is not None
xlen = riscv_settings_.xlen
assert xlen is not None
for intrinsic in settings.intrinsics.intrinsics:
Expand Down
1 change: 1 addition & 0 deletions seal5/flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
("explicit_truncations", passes.explicit_truncations, {}),
("process_settings", passes.process_settings, {}),
("write_yaml", passes.write_yaml, {}),
("process_settings2", passes.process_settings, {}),
("detect_behavior_constraints", passes.detect_behavior_constraints, {}),
("detect_registers", passes.detect_registers, {}),
("collect_register_operands", passes.collect_register_operands, {}),
Expand Down
2 changes: 2 additions & 0 deletions seal5/pass_list.py
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ def process_settings(
assert input_file.is_file(), f"File not found: {input_file}"
name = input_file.name
logger.info("Processing settings for %s", name)
settings.save()
args = [
settings.models_dir / name,
"--log",
Expand Down Expand Up @@ -812,6 +813,7 @@ def write_yaml(
)
new_settings: Seal5Settings = Seal5Settings.from_yaml_file(settings.temp_dir / new_name)
settings.merge(new_settings, overwrite=False, inplace=True)
settings.save()
return PassResult(metrics={})


Expand Down
4 changes: 2 additions & 2 deletions seal5/passes.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,8 @@ def run(self, inputs: List[str], *_args, settings: Optional[Seal5Settings] = Non
futures = []
passes_settings_ = passes_settings
for input_model in inputs:
model_settings = settings.models[input_model]
model_passes_settings = model_settings.passes
model_settings = settings.models.get(input_model)
model_passes_settings = model_settings.passes if model_settings is not None else None
kwargs__ = kwargs_.copy()
if model_passes_settings is not None:
passes_settings_ = passes_settings_.merge(model_passes_settings)
Expand Down
12 changes: 8 additions & 4 deletions seal5/transform/process_settings/transform.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,10 @@ def run(args):
assert False
model_name = top_level.stem

assert "settings" not in model
model["settings"] = settings
if "settings" not in model:
model["settings"] = settings
else:
model["settings"].merge(settings, overwrite=True, inplace=True)

for set_name, set_def in model["sets"].items():
model_settings = settings.models.get(model_name)
Expand All @@ -90,8 +92,10 @@ def run(args):
riscv_settings = RISCVSettings(xlen=set_def.xlen)
if riscv_settings.xlen is None:
riscv_settings.xlen = set_def.xlen
assert set_def.settings is None
set_def.settings = ext_settings # TODO: decide how to do this properly
if set_def.settings is None:
set_def.settings = ext_settings # TODO: decide how to do this properly
else:
set_def.settings.merge(ext_settings, overwrite=True, inplace=True)

logger.info("dumping model")
with open(model_path, "wb") as f:
Expand Down

0 comments on commit aa99a38

Please sign in to comment.