aboutsummaryrefslogtreecommitdiffstats
path: root/passes/opt
Commit message (Collapse)AuthorAgeFilesLines
* Fix opt_expr.eqneq.cmpzero debug printAlyssa Milburn2019-12-151-1/+1
|
* opt_share: Fix handling of fine cells.Marcin Koƛcielnicki2019-11-271-4/+11
| | | | Fixes #1525.
* Add "opt_mem" passClifford Wolf2019-11-222-0/+144
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* wreduce: Don't trim zeros or sext when not matching ARST_VALUEDavid Shah2019-11-141-4/+10
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Fix handling of z_digit "?" and fix optimization of cmp with "z"Clifford Wolf2019-09-131-0/+4
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* passes: opt_share: don't statically initialize mergeable_type_mapSean Cross2019-09-091-3/+4
| | | | | | | | | | | | In 3d3779b0376b8204ed7637053176a07b7271ac1d this got turned from a `std::map<std::string, std::string>` to `std::map<IdString, IdString>`. Consequently, this exposed some initialization sequencing issues (#1361). Only initialize the map when it's first used, to avoid these static issues. This fixes #1361. Signed-off-by: Sean Cross <sean@xobs.io>
* Copy-paste typoEddie Hung2019-08-221-1/+1
|
* Respect opt_expr -keepdc as per @cliffordwolfEddie Hung2019-08-221-1/+1
|
* Handle $shift and Y_WIDTH > 1 as per @cliffordwolfEddie Hung2019-08-221-4/+8
|
* Add cover()Eddie Hung2019-08-221-0/+1
|
* Canonical formEddie Hung2019-08-221-5/+5
|
* opt_expr to trim A port of $shiftx if Y_WIDTH == 1Eddie Hung2019-08-211-0/+17
|
* ID({A,B,Y}) -> ID::{A,B,Y} for opt_share.ccEddie Hung2019-08-191-30/+30
|
* Merge pull request #1283 from YosysHQ/clifford/fix1255Clifford Wolf2019-08-171-1/+2
|\ | | | | Fix various NDEBUG compiler warnings
| * Merge branch 'master' into clifford/fix1255Clifford Wolf2019-08-1512-994/+1042
| |\
| * | Fix various NDEBUG compiler warnings, closes #1255Clifford Wolf2019-08-131-1/+2
| | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Merge pull request #1303 from YosysHQ/bogdanvuk/opt_shareClifford Wolf2019-08-173-1/+655
|\ \ \ | | | | | | | | Implement opt_share from @bogdanvuk
| * | | Use ID() macroEddie Hung2019-08-161-118/+110
| | | |
| * | | Add 'opt_share' to 'opt -full'Eddie Hung2019-08-161-0/+5
| | | |
| * | | Merge https://github.com/bogdanvuk/yosys into bogdanvuk/opt_shareEddie Hung2019-08-162-1/+658
| |\ \ \
| | * | | Fix wrong results when opt_share called before opt_cleanBogdan Vukobratovic2019-08-071-18/+14
| | | | |
| | * | | Support various binary operators in opt_shareBogdan Vukobratovic2019-08-041-194/+392
| | | | |
| | * | | Fix spacing in opt_share tests, change wording in opt_share helpBogdan Vukobratovic2019-08-031-6/+10
| | | | |
| | * | | Reimplement opt_share to work on $alu and $pmuxBogdan Vukobratovic2019-07-281-95/+225
| | | | |
| | * | | Implement opt_shareBogdan Vukobratovic2019-07-262-1/+330
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This pass identifies arithmetic operators that share an operand and whose results are used in mutually exclusive cases controlled by a multiplexer, and merges them together by multiplexing the other operands
* | | | | Remove `using namespace RTLIL;`Eddie Hung2019-08-161-6/+5
| | | | |
* | | | | Use ID::keep more liberally tooEddie Hung2019-08-156-10/+10
| | | | |
* | | | | Use more ID::{A,B,Y,blackbox,whitebox}Eddie Hung2019-08-1512-348/+348
|/ / / /
* | | | FixEddie Hung2019-08-151-2/+2
| | | |
* | | | Convert a few more to IDEddie Hung2019-08-151-20/+20
| |_|/ |/| |
* | | Merge branch 'master' into clifford/idsClifford Wolf2019-08-151-1/+49
|\ \ \
| * \ \ Merge remote-tracking branch 'origin/master' into eddie/fix_1262Eddie Hung2019-08-117-58/+53
| |\ \ \ | | | |/ | | |/|
| * | | Wrong way aroundEddie Hung2019-08-101-2/+2
| | | |
| * | | cover_list -> cover as per @cliffordwolfEddie Hung2019-08-101-2/+2
| | | |
| * | | GrammarEddie Hung2019-08-091-1/+1
| | | |
| * | | Separate $alu handlingEddie Hung2019-08-091-7/+50
| | | |
| * | | opt_expr -fine to trim LSBs of $alu tooEddie Hung2019-08-091-4/+9
| | | |
* | | | Use ID() macro in all of passes/opt/Clifford Wolf2019-08-1112-998/+998
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | This was obtained by running the following SED command in passes/opt/ and then using "meld foo.cc foo.cc.orig" to manually fix all resulting compiler errors. sed -i.orig -r 's/"\\\\([a-zA-Z0-9_]+)"/ID(\1)/g; s/"(\$[a-zA-Z0-9_]+)"/ID(\1)/g;' *.cc Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Merge pull request #1258 from YosysHQ/eddie/cleanupClifford Wolf2019-08-107-58/+53
|\ \ \ | |/ / |/| | Cleanup a few barnacles across codebase
| * | substr() -> compare()Eddie Hung2019-08-073-6/+6
| | |
| * | RTLIL::S{0,1} -> State::S{0,1}Eddie Hung2019-08-071-1/+1
| | |
| * | Merge remote-tracking branch 'origin/master' into eddie/cleanupEddie Hung2019-08-072-3/+28
| |\ \
| * | | stoi -> atoiEddie Hung2019-08-073-5/+5
| | | |
| * | | Use std::stoi instead of atoi(<str>.c_str())Eddie Hung2019-08-063-5/+5
| | | |
| * | | Use IdString::begins_with()Eddie Hung2019-08-061-8/+8
| | | |
| * | | Make liberal use of IdString.in()Eddie Hung2019-08-064-10/+10
| | | |
| * | | Cleanup opt_expr.ccEddie Hung2019-08-061-35/+30
| | | |
* | | | opt_lut to ignore LUT cells, or those that drive bits, with (* keep *)Eddie Hung2019-08-071-0/+6
| |/ / |/| |
* | | Move LSB-trimming functionality from wreduce to opt_exprEddie Hung2019-08-062-23/+26
| | |
* | | Merge remote-tracking branch 'origin/master' into eddie/wreduce_addEddie Hung2019-08-062-5/+5
|\| |