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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								649bb9374f 
								
							 
						 
						
							
							
								
								Add "opt_expr -fine" feature to remove neutral bits from reduce and logic operators  
							
							
							
						 
						
							2017-07-26 18:28:55 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								0a02cdb93b 
								
							 
						 
						
							
							
								
								Fix and_or_buffer optimization in opt_expr for signed operators  
							
							
							
						 
						
							2017-07-01 16:05:26 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Larry Doolittle 
								
							 
						 
						
							
							
							
							
								
							
							
								2021ddecb3 
								
							 
						 
						
							
							
								
								Squelch trailing whitespace  
							
							
							
						 
						
							2017-04-12 15:11:09 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								95dae6d416 
								
							 
						 
						
							
							
								
								Fixed some "used uninitialized" warnings in opt_expr  
							
							
							
						 
						
							2017-02-11 10:50:48 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								a5bfeb9e07 
								
							 
						 
						
							
							
								
								Add optimization of (a && 1'b1) and (a || 1'b0)  
							
							
							
						 
						
							2017-02-11 10:05:00 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									C-Elegans 
								
							 
						 
						
							
							
							
							
								
							
							
								94b272077d 
								
							 
						 
						
							
							
								
								Fix issue  #306 , "Bug in opt -full"  
							
							... 
							
							
							
							Add check for whether the high bit in the constant expression is greater
than the width of the variable, and optimizes that to a constant 1 or
0 
							
						 
						
							2017-02-10 10:38:02 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								ffbe8d41f3 
								
							 
						 
						
							
							
								
								Fix indenting and log messages in code merged from opt_compare_pr  
							
							
							
						 
						
							2017-01-31 16:20:56 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									C-Elegans 
								
							 
						 
						
							
							
							
							
								
							
							
								a94c3694d7 
								
							 
						 
						
							
							
								
								Refactor and generalize the comparision optimization  
							
							... 
							
							
							
							Generalizes the optimization to:
a < C,
a >= C,
C > a,
C <= a 
							
						 
						
							2017-01-30 17:52:16 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									C-Elegans 
								
							 
						 
						
							
							
							
							
								
							
							
								2fa0fd4a37 
								
							 
						 
						
							
							
								
								Do not use b.as_int() in calculation of bit set  
							
							
							
						 
						
							2017-01-21 12:58:26 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									C-Elegans 
								
							 
						 
						
							
							
							
							
								
							
							
								84f9cd0025 
								
							 
						 
						
							
							
								
								Optimize compares to powers of 2  
							
							... 
							
							
							
							Remove opt_compare and put comparison pass in opt_expr
assuming a [7:0] is unsigned
a >= (1<<x) becomes |a[7:x]
a <  (1<<x) becomes !a[7:x]
Additionally:
a >= 0 becomes constant true,
a < 0 becomes constant false
delete opt_compare.cc
revert opt.cc to commit b7cfb7dbd 
							
						 
						
							2017-01-16 13:45:50 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								11f7b8a2a1 
								
							 
						 
						
							
							
								
								Added opt_expr support for div/mod by power-of-two  
							
							
							
						 
						
							2016-05-29 12:17:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								0bc95f1e04 
								
							 
						 
						
							
							
								
								Added "yosys -D" feature  
							
							
							
						 
						
							2016-04-21 23:28:37 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								f38ca3e18f 
								
							 
						 
						
							
							
								
								Improvements in opt_expr  
							
							
							
						 
						
							2016-04-21 14:23:04 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								e2f6d61c00 
								
							 
						 
						
							
							
								
								Typo fixes in opt_expr and opt_merge  
							
							
							
						 
						
							2016-03-31 09:56:56 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clifford Wolf 
								
							 
						 
						
							
							
							
							
								
							
							
								1d0f0d668a 
								
							 
						 
						
							
							
								
								Renamed opt_const to opt_expr  
							
							
							
						 
						
							2016-03-31 08:46:56 +02:00