Clifford Wolf 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2e606b1802 
								
							 
						 
						
							
							
								
								Merge pull request  #773  from whitequark/opt_lut_elim_fixes  
							
							... 
							
							
							
							opt_lut: elimination fixes 
							
						 
						
							2019-01-02 15:45:29 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								efa278e232 
								
							 
						 
						
							
							
								
								Fix typographical and grammatical errors and inconsistencies.  
							
							... 
							
							
							
							The initial list of hits was generated with the codespell command
below, and each hit was evaluated and fixed manually while taking
context into consideration.
    DIRS="kernel/ frontends/ backends/ passes/ techlibs/"
    DIRS="${DIRS} libs/ezsat/ libs/subcircuit"
    codespell $DIRS -S *.o -L upto,iff,thru,synopsys,uint
More hits were found by looking through comments and strings manually. 
							
						 
						
							2019-01-02 13:12:17 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								c55dfb8369 
								
							 
						 
						
							
							
								
								opt_lut: reflect changes in sigmap.  
							
							... 
							
							
							
							Otherwise, some LUTs will be missed during elimination. 
							
						 
						
							2019-01-02 10:21:58 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								06143ab33f 
								
							 
						 
						
							
							
								
								opt_lut: use a worklist, and revisit cells affected by elimination.  
							
							
							
						 
						
							2019-01-02 09:36:32 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								f7363ac508 
								
							 
						 
						
							
							
								
								opt_lut: count eliminated cells, and set opt.did_something for them.  
							
							
							
						 
						
							2019-01-02 09:14:43 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								4fd458290c 
								
							 
						 
						
							
							
								
								opt_expr: refactor simplification of unsigned X<onehot and X>=onehot. NFCI.  
							
							
							
						 
						
							2019-01-02 05:11:29 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								9e9846a6ea 
								
							 
						 
						
							
							
								
								opt_expr: refactor simplification of signed X>=0 and X<0. NFCI.  
							
							
							
						 
						
							2019-01-02 03:01:25 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								8e53d2e0bf 
								
							 
						 
						
							
							
								
								opt_expr: simplify any unsigned comparisons with all-0 and all-1.  
							
							... 
							
							
							
							Before this commit, only unsigned comparisons with all-0 would be
simplified. This commit also makes the code handling such comparisons
to be more rigorous and not abort on unexpected input. 
							
						 
						
							2019-01-02 02:45:49 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								42c356c49c 
								
							 
						 
						
							
							
								
								opt_lut: eliminate LUTs evaluating to constants or inputs.  
							
							
							
						 
						
							2018-12-31 23:55:40 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								0a840dd883 
								
							 
						 
						
							
							
								
								Fix handling of (* keep *) wires in wreduce  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-12-31 16:37:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								556341a77f 
								
							 
						 
						
							
							
								
								Merge pull request  #720  from whitequark/master  
							
							... 
							
							
							
							lut2mux: handle 1-bit INIT constant in $lut cells 
							
						 
						
							2018-12-16 15:27:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								7ec740b7ad 
								
							 
						 
						
							
							
								
								opt_lut: leave intact LUTs with cascade feeding module outputs.  
							
							
							
						 
						
							2018-12-07 17:13:52 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								9eb03d458d 
								
							 
						 
						
							
							
								
								opt_lut: show original truth table for both cells.  
							
							
							
						 
						
							2018-12-07 17:04:41 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								a8ab722824 
								
							 
						 
						
							
							
								
								opt_lut: add -limit option, for debugging misoptimizations.  
							
							
							
						 
						
							2018-12-07 16:36:26 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								643f858acf 
								
							 
						 
						
							
							
								
								Bugfix in opt_expr handling of a<0 and a>=0  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-12-06 07:29:21 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								88217d0157 
								
							 
						 
						
							
							
								
								opt_lut: simplify type conversion. NFC.  
							
							
							
						 
						
							2018-12-05 19:12:02 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								2d98db73e3 
								
							 
						 
						
							
							
								
								Rename opt_lut.cpp to opt_lut.cc  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-12-05 18:03:58 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								45cb6200af 
								
							 
						 
						
							
							
								
								opt_lut: add -dlogic, to avoid disturbing logic such as carry chains.  
							
							
							
						 
						
							2018-12-05 16:30:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								e603484070 
								
							 
						 
						
							
							
								
								opt_lut: always prefer to eliminate 1-LUTs.  
							
							... 
							
							
							
							These are always either buffers or inverters, and keeping the larger
LUT preserves more source-level information about the design. 
							
						 
						
							2018-12-05 16:30:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								59eea0183f 
								
							 
						 
						
							
							
								
								opt_lut: collect and display statistics.  
							
							
							
						 
						
							2018-12-05 16:30:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								e54c7e951c 
								
							 
						 
						
							
							
								
								opt_lut: refactor to use a worker. NFC.  
							
							
							
						 
						
							2018-12-05 16:30:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									whitequark 
								
							 
						 
						
							
							
							
							
								
							
							
								9e072ec21f 
								
							 
						 
						
							
							
								
								opt_lut: new pass, to combine LUTs for tighter packing.  
							
							
							
						 
						
							2018-12-05 16:30:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								ab97eddee9 
								
							 
						 
						
							
							
								
								Add iteration limit to "opt_muxtree"  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-11-20 17:56:47 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Henner Zeller 
								
							 
						 
						
							
							
							
							
								
							
							
								3aa4484a3c 
								
							 
						 
						
							
							
								
								Consistent use of 'override' for virtual methods in derived classes.  
							
							... 
							
							
							
							o Not all derived methods were marked 'override', but it is a great
  feature of C++11 that we should make use of.
o While at it: touched header files got a -*- c++ -*- for emacs to
  provide support for that language.
o use YS_OVERRIDE for all override keywords (though we should probably
  use the plain keyword going forward now that C++11 is established) 
							
						 
						
							2018-07-20 23:51:06 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								587056447e 
								
							 
						 
						
							
							
								
								Add optimization of tristate buffer with constant control input  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-05-12 15:18:27 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								fba499b866 
								
							 
						 
						
							
							
								
								Fix opt_rmdff handling of $dlatchsr  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-02-26 11:46:05 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								eb67a7532b 
								
							 
						 
						
							
							
								
								Add $allconst and $allseq cell types  
							
							... 
							
							
							
							Signed-off-by: Clifford Wolf <clifford@clifford.at> 
							
						 
						
							2018-02-23 13:14:47 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								ca2adc30c9 
								
							 
						 
						
							
							
								
								Add warnings for driver-driver conflicts between FFs (and other cells) and constants  
							
							
							
						 
						
							2017-12-12 17:13:27 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								c238f45ecf 
								
							 
						 
						
							
							
								
								Fix memory corruption bug in opt_rmdff  
							
							
							
						 
						
							2017-10-26 18:02:15 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								1e502ef5a0 
								
							 
						 
						
							
							
								
								Fix typo in opt_clean log message  
							
							
							
						 
						
							2017-10-26 18:01:48 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kaj Tuomi 
								
							 
						 
						
							
							
							
							
								
							
							
								e558b3284b 
								
							 
						 
						
							
							
								
								Fix input vector for reduce cells. Infinite loop fixed.  
							
							
							
						 
						
							2017-10-17 09:58:01 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								716dbc9274 
								
							 
						 
						
							
							
								
								Revert  90be0d8 as it causes endless loops for some designs  
							
							
							
						 
						
							2017-10-14 11:57:25 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kaj Tuomi 
								
							 
						 
						
							
							
							
							
								
							
							
								90be0d800b 
								
							 
						 
						
							
							
								
								Fix input vector for reduce cells.  
							
							
							
						 
						
							2017-10-12 13:05:10 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								66e8986ae7 
								
							 
						 
						
							
							
								
								Minor changes to opt_demorgan requested during code review  
							
							
							
						 
						
							2017-09-14 10:35:25 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								6da5d36968 
								
							 
						 
						
							
							
								
								Initial version of opt_demorgan is functioning for AND/OR gates. Not the prettiest results for bus inputs, but this can be improved  
							
							
							
						 
						
							2017-09-12 18:47:46 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								68c42f3a19 
								
							 
						 
						
							
							
								
								Don't track , ... contradictions through x/z-bits  
							
							
							
						 
						
							2017-08-25 16:18:17 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								db6d78a186 
								
							 
						 
						
							
							
								
								Add removing of redundant pairs of bits in ==, ===, !=, and !== to opt_expr  
							
							
							
						 
						
							2017-08-25 16:02:15 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								88983f5012 
								
							 
						 
						
							
							
								
								Mostly coding style related fixes in rmports pass  
							
							
							
						 
						
							2017-08-15 11:32:35 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								15e41d6363 
								
							 
						 
						
							
							
								
								rmports: Now remove ports from cell instances if we optimized them out of that cell  
							
							
							
						 
						
							2017-08-14 11:44:05 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								0ee27d0226 
								
							 
						 
						
							
							
								
								ProcessModule is no longer virtual (why was it in the first place?)  
							
							
							
						 
						
							2017-08-14 11:18:09 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								bd2ac68769 
								
							 
						 
						
							
							
								
								rmports now works on all modules in the design, not just the top.  
							
							
							
						 
						
							2017-08-14 11:16:44 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								d5e5bbad86 
								
							 
						 
						
							
							
								
								Updated Makefile to reflect opt_rmports being renamed to rmports  
							
							
							
						 
						
							2017-08-14 11:04:56 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								1a6a23f91a 
								
							 
						 
						
							
							
								
								Renamed opt_rmports pass to rmports  
							
							
							
						 
						
							2017-08-14 11:00:45 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								1bb150c231 
								
							 
						 
						
							
							
								
								Improved handling of constant connections in opt_rmports  
							
							
							
						 
						
							2017-08-14 10:28:19 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								2877d5e504 
								
							 
						 
						
							
							
								
								Fixed handling of cell ports that aren't wires  
							
							
							
						 
						
							2017-08-14 10:28:16 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								3dd7f42e2b 
								
							 
						 
						
							
							
								
								opt_rmports: Fixed incorrect handling of multi-bit nets  
							
							
							
						 
						
							2017-08-14 10:28:11 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								66aac06eee 
								
							 
						 
						
							
							
								
								Removed commented out debug code  
							
							
							
						 
						
							2017-08-14 10:28:04 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Zonenberg 
								
							 
						 
						
							
							
							
							
								
							
							
								cca3cb5fbb 
								
							 
						 
						
							
							
								
								Added opt_rmports pass (remove unconnected ports from top-level modules)  
							
							
							
						 
						
							2017-08-14 10:27:59 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								007f29b9c2 
								
							 
						 
						
							
							
								
								Add support for set-reset cell variants to opt_rmdff  
							
							
							
						 
						
							2017-08-09 13:29:52 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								c4a7958f70 
								
							 
						 
						
							
							
								
								Add handling of constant reset signals to opt_rmdff  
							
							
							
						 
						
							2017-08-06 13:27:18 +02:00