aboutsummaryrefslogtreecommitdiffstats
path: root/passes/opt/opt_expr.cc
Commit message (Collapse)AuthorAgeFilesLines
...
* | Fix typographical and grammatical errors and inconsistencies.whitequark2019-01-021-1/+1
|/ | | | | | | | | | | | 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.
* Bugfix in opt_expr handling of a<0 and a>=0Clifford Wolf2018-12-061-1/+1
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Consistent use of 'override' for virtual methods in derived classes.Henner Zeller2018-07-201-2/+2
| | | | | | | | | 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)
* Add optimization of tristate buffer with constant control inputClifford Wolf2018-05-121-0/+17
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Don't track , ... contradictions through x/z-bitsClifford Wolf2017-08-251-1/+4
|
* Add removing of redundant pairs of bits in ==, ===, !=, and !== to opt_exprClifford Wolf2017-08-251-0/+72
|
* Add "opt_expr -fine" feature to remove neutral bits from reduce and logic ↵Clifford Wolf2017-07-261-0/+47
| | | | operators
* Fix and_or_buffer optimization in opt_expr for signed operatorsClifford Wolf2017-07-011-2/+2
|
* Squelch trailing whitespaceLarry Doolittle2017-04-121-3/+3
|
* Fixed some "used uninitialized" warnings in opt_exprClifford Wolf2017-02-111-1/+2
|
* Add optimization of (a && 1'b1) and (a || 1'b0)Clifford Wolf2017-02-111-7/+22
|
* Fix issue #306, "Bug in opt -full"C-Elegans2017-02-101-1/+19
| | | | | | 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
* Fix indenting and log messages in code merged from opt_compare_prClifford Wolf2017-01-311-102/+120
|
* Refactor and generalize the comparision optimizationC-Elegans2017-01-301-22/+42
| | | | | | | | Generalizes the optimization to: a < C, a >= C, C > a, C <= a
* Do not use b.as_int() in calculation of bit setC-Elegans2017-01-211-8/+29
|
* Optimize compares to powers of 2C-Elegans2017-01-161-0/+61
| | | | | | | | | | | | | | | 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 (remove opt_compare step)
* Added opt_expr support for div/mod by power-of-twoClifford Wolf2016-05-291-0/+69
|
* Added "yosys -D" featureClifford Wolf2016-04-211-1/+1
|
* Improvements in opt_exprClifford Wolf2016-04-211-12/+62
|
* Typo fixes in opt_expr and opt_mergeClifford Wolf2016-03-311-1/+1
|
* Renamed opt_const to opt_exprClifford Wolf2016-03-311-0/+1164