Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								d2b28d7a25 
								
							 
						 
						
							
							
								
								s/NEW_ID/NEWER_ID/g  
							
							
							
						 
						
							2025-09-16 17:43:02 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								e4d4de1020 
								
							 
						 
						
							
							
								
								driver: add --no-private-id-locs and NEWER_ID  
							
							
							
						 
						
							2025-09-16 17:41:55 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								85bcdee232 
								
							 
						 
						
							
							
								
								rtlil: fix roundtrip test on macOS due to sed non-POSIX non-sense  
							
							
							
						 
						
							2025-09-16 15:47:38 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								7e6126f753 
								
							 
						 
						
							
							
								
								rtlil: fix roundtrip test by eliminating absolute paths from src attributes with -relativeshare  
							
							
							
						 
						
							2025-09-16 15:47:38 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								73747f6928 
								
							 
						 
						
							
							
								
								read_verilog: add -relativeshare for synthesis reproducibility testing  
							
							
							
						 
						
							2025-09-16 15:47:35 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								175e024033 
								
							 
						 
						
							
							
								
								functional: in test, rely less on wreduce doing a perfect job  
							
							
							
						 
						
							2025-09-16 15:47:16 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								70e681ba7d 
								
							 
						 
						
							
							
								
								rtlil: move test temporary files to temp directory  
							
							
							
						 
						
							2025-09-16 15:47:16 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								fdbdd193c1 
								
							 
						 
						
							
							
								
								rtlil: add roundtrip test for design -stash and design -save,  fix   #5321  
							
							
							
						 
						
							2025-09-16 15:47:16 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								4215f3c134 
								
							 
						 
						
							
							
								
								rtlil: add textual roundtrip test  
							
							
							
						 
						
							2025-09-16 15:47:16 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								bcc69d5f6e 
								
							 
						 
						
							
							
								
								write_rtlil: add -sort to match old behavior  
							
							
							
						 
						
							2025-09-16 15:47:16 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								118c1890b1 
								
							 
						 
						
							
							
								
								raise_error: don't rely on module ordering in test  
							
							
							
						 
						
							2025-09-16 15:47:16 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								1328a33e82 
								
							 
						 
						
							
							
								
								write_rtlil: dump in insertion order  
							
							
							
						 
						
							2025-09-16 15:47:14 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								68ad52c6ae 
								
							 
						 
						
							
							
								
								bugpoint: don't sort  
							
							
							
						 
						
							2025-09-16 15:39:13 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								e11ea42af0 
								
							 
						 
						
							
							
								
								raise_error: whitespace  
							
							
							
						 
						
							2025-09-16 15:39:13 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								d6d1f16c43 
								
							 
						 
						
							
							
								
								hashlib: add insertion order const iterator  
							
							
							
						 
						
							2025-09-16 15:39:13 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								430adb3b59 
								
							 
						 
						
							
							
								
								write_rtlil: don't sort  
							
							
							
						 
						
							2025-09-16 15:39:12 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c0577890f0 
								
							 
						 
						
							
							
								
								Merge pull request  #5316  from rocallahan/cleanup-Const  
							
							... 
							
							
							
							Cleanup `RTLIL::Const` 
							
						 
						
							2025-09-16 10:47:29 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								fee2b8992c 
								
							 
						 
						
							
							
								
								Stop using mutable in Const.  
							
							... 
							
							
							
							Now that we only call `bitvectorize()` in non-const methods, we can move the casting-away-const to only happen
in `bitvectorize()`, which is deprecated so only some plugins (maybe) are using it.
This means `const` `Const` methods don't change the underlying data, which means
they'll be safe to use from multiple threads if/when we want to do that. 
							
						 
						
							2025-09-16 03:17:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								29810f1e7c 
								
							 
						 
						
							
							
								
								Make Const::is_*() functions work on packed bits without decaying to vector<State>  
							
							
							
						 
						
							2025-09-16 03:17:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								caaf9a4400 
								
							 
						 
						
							
							
								
								Const::decode_string() doesn't need to call bitvectorize  
							
							
							
						 
						
							2025-09-16 03:17:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								cb1186aac5 
								
							 
						 
						
							
							
								
								Make Const::as_string work without reducing packed bits to vector<State>  
							
							
							
						 
						
							2025-09-16 03:17:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								f61e3377a9 
								
							 
						 
						
							
							
								
								Hash strings 8 bytes at a time  
							
							
							
						 
						
							2025-09-16 03:17:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								67a274ed1f 
								
							 
						 
						
							
							
								
								Optimize Const::hash_into to hash packed bits efficiently  
							
							
							
						 
						
							2025-09-16 03:17:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								1a367b907c 
								
							 
						 
						
							
							
								
								Use fast path for 32-bit Const integer constructor in more places  
							
							
							
						 
						
							2025-09-16 03:17:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								9ad83cc67b 
								
							 
						 
						
							
							
								
								Fast path for Const::operator==  
							
							
							
						 
						
							2025-09-16 03:17:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								b597ad777e 
								
							 
						 
						
							
							
								
								Make Const::as_bool and Const::as_int work with packed bits without decaying to vector<State>  
							
							
							
						 
						
							2025-09-16 03:17:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								b06085ab6c 
								
							 
						 
						
							
							
								
								Make Const::Const(long long) constructor use packed bits internally if possible  
							
							
							
						 
						
							2025-09-16 03:17:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								61caa5e042 
								
							 
						 
						
							
							
								
								Deprecate Const::bitvectorize()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								1e244cd78a 
								
							 
						 
						
							
							
								
								Deprecate Const::bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								9493292690 
								
							 
						 
						
							
							
								
								Update tests to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								09b493cfcd 
								
							 
						 
						
							
							
								
								Update techlibs to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								6dc9a8bacf 
								
							 
						 
						
							
							
								
								Update kernel to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								7f247fb125 
								
							 
						 
						
							
							
								
								Update passes/hierarchy to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								159ca3ba56 
								
							 
						 
						
							
							
								
								Update passes/tests to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								8cc86b2643 
								
							 
						 
						
							
							
								
								Update passes/techmap to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								d1642bf510 
								
							 
						 
						
							
							
								
								Update passes/sat to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								2d5ce8c363 
								
							 
						 
						
							
							
								
								Update passes/proc to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								5600eb2e5b 
								
							 
						 
						
							
							
								
								Update passes/opt to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								23f196a3b8 
								
							 
						 
						
							
							
								
								Update passes/memory to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								e1d0c010ef 
								
							 
						 
						
							
							
								
								Update passes/fsm to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								1b589b065d 
								
							 
						 
						
							
							
								
								Update passes/cmds to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								f65ca488ec 
								
							 
						 
						
							
							
								
								Update frontends to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								34df6569a6 
								
							 
						 
						
							
							
								
								Update backends to avoid bits()  
							
							
							
						 
						
							2025-09-16 03:17:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								662a3df987 
								
							 
						 
						
							
							
								
								Update Const API with alternatives to direct use of bits()  
							
							... 
							
							
							
							In particular, `Const::resize()`, `Const::set()`, and `Const::iterator`. 
							
						 
						
							2025-09-16 03:17:22 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								514fb8f901 
								
							 
						 
						
							
							
								
								Fix Const::const_iterator tag to be bidirectional_iterator_tag  
							
							
							
						 
						
							2025-09-16 03:17:22 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								03127173c6 
								
							 
						 
						
							
							
								
								Fix const_iterator postincrement behavior  
							
							
							
						 
						
							2025-09-16 03:17:22 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									github-actions[bot] 
								
							 
						 
						
							
							
							
							
								
							
							
								fe9eed0498 
								
							 
						 
						
							
							
								
								Bump version  
							
							
							
						 
						
							2025-09-16 00:22:09 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jannis Harder 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								09742e27f7 
								
							 
						 
						
							
							
								
								Merge pull request  #5266  from rocallahan/abc-parallel  
							
							... 
							
							
							
							Run ABC passes in parallel 
							
						 
						
							2025-09-15 18:49:27 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								475d455698 
								
							 
						 
						
							
							
								
								Merge pull request  #5346  from YosysHQ/emil/verilog-codeowner  
							
							... 
							
							
							
							CODEOWNERS: add myself for read_verilog and AST 
							
						 
						
							2025-09-15 17:38:00 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Robert O'Callahan 
								
							 
						 
						
							
							
							
							
								
							
							
								ae0ca7578a 
								
							 
						 
						
							
							
								
								Use a pool of ABC processes.  
							
							... 
							
							
							
							Doing ABC runs in parallel can actually make things slower when every ABC run requires
spawning an ABC subprocess --- especially when using popen(), which on glibc does not
use vfork(). What seems to happen is that constant fork()ing keeps making the main
process data pages copy-on-write, so the main process code that is setting up each ABC
call takes a lot of minor page-faults, slowing it down.
The solution is pretty straightforward although a little tricky to implement.
We just reuse ABC subprocesses. Instead of passing the ABC script name on the command
line, we spawn an ABC REPL and pipe a command into it to source the script. When that's
done we echo an `ABC_DONE` token instead of exiting. Yosys then puts the ABC process
onto a stack which we can pull from the next time we do an ABC run.
For one of our large designs, this is an additional 5x speedup of the primary AbcPass.
It does 5155 ABC runs, all very small; runtime of the AbcPass goes from 760s to 149s
(not very scientific benchmarking but the effect size is large). 
							
						 
						
							2025-09-15 17:22:15 +02:00