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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Krystine Sherwin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3959d19291 
								
							 
						 
						
							
							
								
								Reapply "Add groups to command reference"  
							
							... 
							
							
							
							This reverts commit 81f87ce6ed 
							
						 
						
							2025-08-06 13:52:12 +12: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin Povišer 
								
							 
						 
						
							
							
							
							
								
							
							
								22a44e4333 
								
							 
						 
						
							
							
								
								Start opt_hier  
							
							
							
						 
						
							2025-07-05 16:45:52 +02: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									George Rennie 
								
							 
						 
						
							
							
							
							
								
							
							
								c952ab417f 
								
							 
						 
						
							
							
								
								opt_expr: only sign extend shift arguments for arithmetic right shift  
							
							
							
						 
						
							2025-04-26 12:40:04 +02: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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jannis Harder 
								
							 
						 
						
							
							
							
							
								
							
							
								27ed77ea24 
								
							 
						 
						
							
							
								
								share: Keep filtered activation patterns for the supercell  
							
							... 
							
							
							
							The previous commit introduced code that optimizes the activation
patterns to be able to generate smaller activation logic. The resulting
supercell was then enqueued as shareable using those optimized
activation patterns. The condition represented by the optimized patterns
is an over-approximation of the actual activiation condition. This means
using it as activiation for the supercell loses precision and pessimises
sharing of the supercell with further cells, breaking the sat/share
test.
This commit fixes that by using the optimized activiation patterns only
for the generation of activation logic and using the original patterns
for enqueuing the supercell. 
							
						 
						
							2025-04-15 12:34:46 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jannis Harder 
								
							 
						 
						
							
							
							
							
								
							
							
								6dff9e7787 
								
							 
						 
						
							
							
								
								share: Restrict activation patterns to potentially relevant signals  
							
							... 
							
							
							
							In case the two sets of activation patterns are mutually exclusive
without considering the logic feeding into the activation signals, an
activation condition can only be relevant if present in both sets with
opposite polarity.
This detects pattern-only mutual exclusion by running an additional SAT
query before importing the input cone logic. If that is already UNSAT,
we remove all non-relevant condition and re-simplify the remaining
patterns.
In cases of pattern-only mutual exclusion, this will often produce much
smaller selection logic and avoid the more costly SAT query that
includes the input cones. 
							
						 
						
							2025-04-15 12:34:46 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin Povišer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								38beae1e06 
								
							 
						 
						
							
							
								
								Merge pull request  #4946  from povik/cost-cc-enhance  
							
							... 
							
							
							
							cost: Add `$mem_v2`, `$macc_v2` estimates 
							
						 
						
							2025-04-14 11:08:59 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Krystine Sherwin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								cd3b914132 
								
							 
						 
						
							
							
								
								Reinstate  #4768  
							
							... 
							
							
							
							Revert the reversion so that we can fix the bugs that the PR missed. 
							
						 
						
							2025-04-08 11:58:05 +12:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Krystine Sherwin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								406b400458 
								
							 
						 
						
							
							
								
								opt_expr:  Fix   #4590  
							
							... 
							
							
							
							If all the (non-select) inputs of a `$_MUX{4,8,16}_` are undefined, replace it, just like we do for `$mux` and `$_MUX_`.
Add `tests/opt/opt_expr_mux_undef.ys` to verify this.
This doesn't do any const folding on the wide muxes, or shrinking to less wide muxes.  It only handles the case where all inputs are 'x and the mux can be completely removed. 
							
						 
						
							2025-04-04 12:25:31 +13:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Anhijkt 
								
							 
						 
						
							
							
							
							
								
							
							
								6b5507139e 
								
							 
						 
						
							
							
								
								opt_expr: requsted changes  
							
							
							
						 
						
							2025-04-01 20:37:22 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Anhijkt 
								
							 
						 
						
							
							
							
							
								
							
							
								83b095ab6c 
								
							 
						 
						
							
							
								
								opt_expr: optimize pow of 2 cells  
							
							
							
						 
						
							2025-03-30 15:43:41 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									KrystalDelusion 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a647731812 
								
							 
						 
						
							
							
								
								Merge pull request  #4677  from YosysHQ/emil/opt_merge-hashing  
							
							... 
							
							
							
							opt_merge: hashing performance and correctness 
							
						 
						
							2025-03-25 10:36:02 +13:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									KrystalDelusion 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b06a661913 
								
							 
						 
						
							
							
								
								Merge pull request  #4834  from YosysHQ/emil/gzip-refactor  
							
							... 
							
							
							
							Memory-efficient zlib usage across Liberty file consumers 
							
						 
						
							2025-03-21 10:01:00 +13:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b33787edcb 
								
							 
						 
						
							
							
								
								Merge pull request  #4948  from YosysHQ/emil/share-fix-log-again  
							
							... 
							
							
							
							share: re-add SAT solver cell count to log message 
							
						 
						
							2025-03-19 13:54:17 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								4f3fdc8457 
								
							 
						 
						
							
							
								
								io: refactor string and file work into new unit  
							
							
							
						 
						
							2025-03-19 13:43:42 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								061cf5c6c4 
								
							 
						 
						
							
							
								
								share: re-add SAT solver cell count to log message  
							
							
							
						 
						
							2025-03-19 10:27:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin Povišer 
								
							 
						 
						
							
							
							
							
								
							
							
								91cd382f8b 
								
							 
						 
						
							
							
								
								macc: Rename 'ports' to 'terms' throughout codebase  
							
							
							
						 
						
							2025-03-18 13:25:10 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								05cd1e2942 
								
							 
						 
						
							
							
								
								Merge pull request  #4904  from YosysHQ/emil/share-limit-effort  
							
							... 
							
							
							
							share: add -pattern-limit to limit analysis effort 
							
						 
						
							2025-03-15 18:00:42 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								6c9857403c 
								
							 
						 
						
							
							
								
								share: use share.pattern_limit from scratchpad  
							
							
							
						 
						
							2025-03-11 14:57:00 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								ca9176cd0f 
								
							 
						 
						
							
							
								
								share: bail better on too many patterns  
							
							
							
						 
						
							2025-03-10 17:55:04 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin Povišer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d8a4991289 
								
							 
						 
						
							
							
								
								Merge pull request  #4931  from povik/buf-clean  
							
							... 
							
							
							
							opt_clean, simplemap: Add `$buf` handling 
							
						 
						
							2025-03-10 15:10:17 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								1d773b50a4 
								
							 
						 
						
							
							
								
								opt_merge: fix dangling pointers in known_cells when keep attribute is used  
							
							
							
						 
						
							2025-03-10 13:14:06 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								176faae7c9 
								
							 
						 
						
							
							
								
								opt_merge: fix trivial binary regression  
							
							
							
						 
						
							2025-03-10 13:14:06 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								8903740147 
								
							 
						 
						
							
							
								
								opt_merge: switch to unordered_set  
							
							
							
						 
						
							2025-03-10 13:14:06 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								ffc057a89c 
								
							 
						 
						
							
							
								
								opt_merge: fix the many collisions case  
							
							
							
						 
						
							2025-03-10 13:14:06 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								cbb776c626 
								
							 
						 
						
							
							
								
								opt_merge: avoid hashing strings  
							
							
							
						 
						
							2025-03-10 13:14:06 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8bb24badf2 
								
							 
						 
						
							
							
								
								Merge pull request  #4895  from YosysHQ/emil/fix-share-portbit-infinite-loop  
							
							... 
							
							
							
							share: fix infinite loop in find_terminal_bits on $mux loop 
							
						 
						
							2025-03-08 13:14:11 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin Povišer 
								
							 
						 
						
							
							
							
							
								
							
							
								557047fe1e 
								
							 
						 
						
							
							
								
								opt_clean, simplemap: Add $buf handling  
							
							
							
						 
						
							2025-03-07 16:08:38 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								912c93ca0b 
								
							 
						 
						
							
							
								
								share: help message formatting  
							
							... 
							
							
							
							Co-authored-by: KrystalDelusion <93062060+KrystalDelusion@users.noreply.github.com> 
							
						 
						
							2025-03-03 18:52:05 +01:00