From: Sebastien Bourdeauducq Date: Wed, 17 Jul 2013 08:38:39 +0000 (+0200) Subject: fhdl/tools/group_by_target: remove resort_statements X-Git-Tag: 24jan2021_ls180~2099^2~520 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=939f01cee2ebec6df738652412b1048b958bf09f;p=litex.git fhdl/tools/group_by_target: remove resort_statements --- diff --git a/migen/fhdl/tools.py b/migen/fhdl/tools.py index f2f57222..d87bfa17 100644 --- a/migen/fhdl/tools.py +++ b/migen/fhdl/tools.py @@ -48,29 +48,24 @@ def list_targets(node): lister.visit(node) return lister.output_list -def resort_statements(ol): - return [statement for i, statement in - sorted(ol, key=lambda x: x[0])] - def group_by_targets(sl): groups = [] - for statement_order, statement in enumerate(flat_iteration(sl)): + for statement in flat_iteration(sl): targets = list_targets(statement) chk_groups = [(targets.isdisjoint(g[0]), g) for g in groups] merge_groups = [g for dj, g in chk_groups if not dj] groups = [g for dj, g in chk_groups if dj] - new_group = (set(targets), [(statement_order, statement)]) - + new_group = (set(targets), []) for g in merge_groups: new_group[0].update(g[0]) new_group[1].extend(g[1]) + new_group[1].append(statement) groups.append(new_group) - return [(target, resort_statements(stmts)) - for target, stmts in groups] + return groups def list_special_ios(f, ins, outs, inouts): r = set()