Commit Graph

819 Commits

Author SHA1 Message Date
Akash Levy 41dfe4fc61 Run toposort in both directions for better results 2025-09-09 07:45:25 -07:00
Akash Levy 1b3375d8df Merge upstream in 2025-09-09 05:50:48 -07:00
Akash Levy eb4539f151 Smallfixes 2025-09-09 04:50:57 -07:00
Akash Levy b7a4ce8b42 Fix opt balance tree and wreduce 2025-09-09 04:32:15 -07:00
Akash Levy 8204fd1d0b Update Yosys to latest 2025-09-06 16:49:39 -07:00
Mike Inouye 6276464ea7
Increase muxtree glob eval attempts to 10M. 2025-09-04 10:52:37 -07:00
Emil J 5aa71505fc
Merge pull request #5287 from Anhijkt/opt_dff-fix-5279
opt_dff: fix timeout issue
2025-09-01 11:20:35 +02:00
Akash Levy dc52f6ca1c
Merge branch 'YosysHQ:main' into main 2025-08-27 11:10:13 -07:00
Emil J c5d096b7b8
Merge pull request #5308 from YosysHQ/emil/opt_muxtree-refactor
opt_muxtree: refactor
2025-08-25 16:48:01 +02:00
Emil J. Tywoniak b45e5854bf opt_muxtree: comment wording 2025-08-25 16:36:07 +02:00
Akash Levy e54fa487b8 Merge from upstream 2025-08-21 17:56:55 -07:00
Emil J. Tywoniak 4dea774171 opt_muxtree: refactor 2025-08-21 12:52:22 +02:00
Robert O'Callahan 8c04e5266c Use commutative hashing instead of expensive allocation and sorting
For one of our large circuits, this improves the `OptMergePass` runtime
from about 150s to about 130s. It's also simpler code.
2025-08-20 19:35:22 +00:00
Robert O'Callahan 7d0ea0d64f Refactor call to sorted_pmux_in to avoid copying the connection dictionary 2025-08-20 19:35:22 +00:00
Emil J 025d7a5641
Merge pull request #5290 from rocallahan/opt-mux-perf
Make `OptMuxtreePass` int-indexed vectors into hashtables
2025-08-20 20:00:26 +02:00
Robert O'Callahan 3f2c4f6f83 Remove redundant construction of `assign_map`.
We call 'assign_map.set()' below which wipes the `SigMap` and reconstructs it.

This operation is expensive because it scans the whole module. I think it's
better to make heavyweight operations more visible so I'm removing
the less obvious operation.
2025-08-17 23:34:11 +00:00
Robert O'Callahan dd88423334 Make OptMuxtree int-indexed vectors into hashtables
For one of our large circuits, this reduced the time for an OPT_MUXTREE pass from
169s to 5s.
2025-08-14 23:09:15 +00:00
Anhijkt b3ca5ee0f1 opt_dff: fix timeout issue 2025-08-13 01:48:59 +03:00
Akash Levy 77be4d7be7 Bump Yosys to latest 2025-08-07 17:22:25 -07:00
Krystine Sherwin 3959d19291
Reapply "Add groups to command reference"
This reverts commit 81f87ce6ed.
2025-08-06 13:52:12 +12:00
Akash Levy 347d7b6524
Merge branch 'YosysHQ:main' into main 2025-08-04 15:28:01 -07:00
Lofty 7537a49f0d
Merge pull request #5241 from Anhijkt/opt_dff-simplify-pt
opt_dff: implement simplify_patterns
2025-08-04 09:44:57 +01:00
Anhijkt 85e0e8ca67 typo 2025-07-30 21:40:20 +03:00
Anhijkt bfff7a47f1 typo 2025-07-30 21:34:42 +03:00
Anhijkt 206d2a4553 opt_dff: refactor simplify_patterns 2025-07-30 21:31:34 +03:00
N. Engelhardt 81f87ce6ed
Revert "Add groups to command reference" 2025-07-23 14:41:49 +00:00
Anhijkt d9fc6dda9e typo 2025-07-21 14:42:52 +03:00
Anhijkt ca8af1f8c8 opt_dff: implement simplify_patterns 2025-07-21 14:15:26 +03:00
Krystine Sherwin f2ef17b581
cmdref: Assign rmports to greenpak group
Also tidy `#include`s.
2025-07-21 10:35:57 +12:00
Akash Levy 3cfbc0d7af
Merge branch 'YosysHQ:main' into main 2025-07-18 09:38:39 -07:00
Martin Povišer 22a44e4333 Start `opt_hier` 2025-07-05 16:45:52 +02:00
Akash Levy 7e9e4c7afe
Merge branch 'YosysHQ:main' into main 2025-06-23 02:30:24 -07:00
George Rennie 8c38e2081d opt_dff: don't emit cells until all have been visited to prevent UAF 2025-06-06 23:46:07 +01:00
George Rennie 19cdbc5a0c opt_dff: don't remove cells until all have been visited to prevent UAF 2025-06-04 21:02:21 +01:00
Akash Levy d520cb42cc
Merge branch 'YosysHQ:main' into main 2025-05-22 10:30:58 -07:00
George Rennie 6331f92d00
Merge pull request #5101 from georgerennie/george/opt_expr_shift_ovfl
opt_expr: fix shift optimization with overflowing shift amount
2025-05-22 15:16:19 +01:00
Akash Levy 3c7c004c31 Fix stuff 2025-05-15 15:27:12 -07:00
Akash Levy 1f00bf0057 Bump yosys to latest 2025-05-15 14:44:26 -07:00
Emil J 3823157c25
Merge pull request #5080 from akashlevy/muldiv_c
Add `muldiv_c` peepopt
2025-05-15 11:03:25 +02:00
George Rennie 748600c167
small whitespace cleanup (#5119) 2025-05-14 15:18:57 +02:00
Akash Levy 1990c1fac5 Reduce pass verbosity 2025-05-13 20:42:47 -07:00
Akash Levy d6975c1d5f Fix src attr inheritance in opt_share 2025-05-13 20:05:16 -07:00
George Rennie 0dcd94b6ad opt_expr: saturate shift amount instead of overflowing for large shifts 2025-05-07 14:41:13 +02:00
Akash Levy 4bd91fbb11 Add `muldiv_c` peepopt pass 2025-04-30 08:06:59 -07:00
Akash Levy 5e0d59ca90
Merge branch 'YosysHQ:main' into main 2025-04-28 18:12:42 -07:00
George Rennie c952ab417f opt_expr: only sign extend shift arguments for arithmetic right shift 2025-04-26 12:40:04 +02:00
Akash Levy 9665a76876 Undo bad wreduce change 2025-04-22 03:40:34 -07:00
Akash Levy 5f5ed1b29e Merge upstream yosys 2025-04-21 17:36:24 -07:00
Jannis Harder 4b273a4ae9 share: Cleanup and additional testing
Fixes a typo and adds another test case that triggers the fallback
behavior as the existing tests all trigger the new optimization.
2025-04-15 12:34:46 +02:00
Jannis Harder 7593b5b224 share: Only print optimized activation patterns when different
This removes redundant information from the log and makes it easier to
spot where the new optimization had an effect.
2025-04-15 12:34:46 +02:00