aboutsummaryrefslogtreecommitdiffstats
path: root/tests/opt
Commit message (Collapse)AuthorAgeFilesLines
* Fix WREDUCE on FF not fixing ARST_VALUE parameter.Keith Rothman2019-02-222-0/+24
| | | | | | Adds test case that fails without code change. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* opt_expr: improve simplification of comparisons with large constants.whitequark2019-01-021-0/+18
| | | | | | | | | | | | The idea behind this simplification is that a N-bit signal X being compared with an M-bit constant where M>N and the constant has Nth or higher bit set, it either always succeeds or always fails. However, the existing implementation only worked with one-hot signals for some reason. It also printed incorrect messages. This commit adjusts the simplification to have as much power as possible, and fixes other bugs.
* opt_expr: refactor simplification of unsigned X<onehot and X>=onehot. NFCI.whitequark2019-01-021-0/+5
|
* opt_expr: refactor simplification of signed X>=0 and X<0. NFCI.whitequark2019-01-021-8/+14
|
* opt_expr: simplify any unsigned comparisons with all-0 and all-1.whitequark2019-01-022-0/+15
| | | | | | 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.
* opt_lut: eliminate LUTs evaluating to constants or inputs.whitequark2018-12-313-0/+23
|
* Merge pull request #724 from whitequark/equiv_optClifford Wolf2018-12-162-15/+1
|\ | | | | equiv_opt: new command, for verifying optimization passes
| * equiv_opt: pass -D EQUIV when techmapping.whitequark2018-12-072-4/+1
| | | | | | | | | | This allows avoiding techmap crashes e.g. because of large memories in white-box cell models.
| * equiv_opt: new command, for verifying optimization passes.whitequark2018-12-071-12/+1
| |
* | opt_lut: leave intact LUTs with cascade feeding module outputs.whitequark2018-12-072-0/+20
|/
* opt_lut: add -dlogic, to avoid disturbing logic such as carry chains.whitequark2018-12-051-1/+1
|
* opt_lut: new pass, to combine LUTs for tighter packing.whitequark2018-12-055-0/+43