aboutsummaryrefslogtreecommitdiffstats
path: root/passes/opt
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'vector_fix' of https://github.com/Kmanfi/yosysClaire Wolf2020-01-291-1/+3
|\ | | | | | | Also some minor fixes to the original PR.
| * Fix input vector for reduce cells. Infinite loop fixed.Kaj Tuomi2017-10-171-0/+2
| |
* | opt_reduce: Call check() per run rather than per optimised cellDavid Shah2020-01-281-1/+2
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
* | 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
| | | | |