Add duplicate clock gate optimization, msg980.

Experimental and disabled unless -OD or -O3 used (for now),
Please try it as may get some significant speedups.

Signed-off-by: Wilson Snyder <[email protected]>
This commit is contained in:
Varun Koyyalagunta
2013-02-20 20:14:15 -05:00
committed by Wilson Snyder
parent f2fb77c15a
commit e0edb596ea
11 changed files with 520 additions and 11 deletions
+2
View File
@@ -765,6 +765,7 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc, char
case 'a': m_oTable = flag; break;
case 'b': m_oCombine = flag; break;
case 'c': m_oConst = flag; break;
case 'd': m_oDedupe = flag; break;
case 'e': m_oCase = flag; break;
case 'f': m_oFlopGater = flag; break;
case 'g': m_oGate = flag; break;
@@ -1301,6 +1302,7 @@ void V3Options::optimize(int level) {
m_oSubst = flag;
m_oSubstConst = flag;
m_oTable = flag;
m_oDedupe = level >= 3;
// And set specific optimization levels
if (level >= 3) {
m_inlineMult = -1; // Maximum inlining