aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes
AgeCommit message (Collapse)Author
2016-04-26Fixed bug in recursive check for whether BundleType contains flips.Adam Izraelevitz
2016-04-22Add Uniquify Passjackkoenig
Also add pass to Verilog Compiler list of passes This pass appends '_' to the names of aggregate types that would cause a name collision during LowerTypes.
2016-04-22Refactor LowerTypesjackkoenig
Make loweredName a public utility function of the Pass
2016-04-22Move LowerTypes to its own filejackkoenig
2016-04-21Avoid Lint errors connecting wide signals to narrow onesAndrew Waterman
2016-04-21SplitExpressions should split Mux, not just DoPrimAndrew Waterman
Legalize wasn't always doing its thing because of this.
2016-04-21Emit correct width for ConstProp'd bit extractAndrew Waterman
2016-04-21Split Expressions on Stop similarly to how they are split on Printjackkoenig
This allows the Print and Stop resulting from Chisel assertions to be guarded by the same expression.
2016-04-21Fix some wonky spacing in Split Expressionsjackkoenig
2016-04-20Change RemoveCHIRRTL to define port clocks at CHIRRTL port definitionjackkoenig
Invalidate clock at mem definition. Fixes #131
2016-04-20Use a global namespace for VarWidth namesAndrew Waterman
This matches the unstated assumption in InferWidths. Closes #135
2016-04-19Change pass name printing to info. Print pass runtime.jackkoenig
Change default print level to info.
2016-04-16Add Namespace for thread-safe creation of names and temporary namesjackkoenig
Replace use of gensym with local namespaces Delete gensym
2016-04-14Improve performance of CSE passAndrew Waterman
Repeated calls to hashCode take most of the runtime, so cache it.
2016-04-14Factor DCE re-running more cleanlyAndrew Waterman
2016-04-14Add CSE passAndrew Waterman
2016-04-13Extend mux constant propagationAndrew Waterman
2016-04-13Add shift/concat constant propagationAndrew Waterman
2016-04-09Adds check for type of DefRegister initializationjackkoenig
Fixes #89
2016-04-08Fixed bug in Remove Accesses where a WSubAccess's index was not checked for ↵Adam Izraelevitz
accesses. Fixes #105
2016-04-07Add primitive dead code elimination passAndrew Waterman
2016-04-07Split ConstProp pass into own file; propagate lits through nodesAndrew Waterman
2016-04-07Add constant propagation for muxes on UIntAndrew Waterman
2016-04-07Add basic constant propagation for logical operatorsAndrew Waterman
This is deliberately incomplete because I wanted to get feedback before plowing ahead. These passes handle constant propagation for bitwise and equality operators on UInt only, usually only when the widths match.
2016-04-07Make ConstProp pass more conciseAndrew Waterman
I was going to augment it, but thought it best to clean it up first.
2016-03-15Revamp string literal handlingjackkoenig
2016-03-10Add support for right shift by amount larger than argument widthjackkoenig
2016-03-02Remove implicits from serializejackkoenig
2016-03-01Move mapper functions to implicit methods on IR vertices.jackkoenig
2016-02-25Separate serialize functions into separate filejackkoenig
2016-02-25Remove FlagUtils and related unused debug printingjackkoenig
2016-02-24Fixed printf bugs in scala and stanza versions. Required special casing ↵Adam Izraelevitz
prints in SplitExp, and emitting expressions instead of their toString counterparts
2016-02-09Added license to FIRRTL filesazidar
2016-02-09Added remaining check passes. Ready for open sourcingazidar
2016-02-09CHIRRTL passes work, parser is updatedazidar
2016-02-09Added migrated HighFormCheck to Scala FIRRTL, changes to IR and Utils for ↵Jack
getting info for error reporting in new pass/check.
2016-02-09Added chirrtl passes, need to update parserazidar
2016-02-09More bug fixesazidar
2016-02-09Added constprop,v-wrap,v-rename. All set to attempt like->like comparison of ↵azidar
rocketchip
2016-02-09Added Lower Types.azidar
2016-02-09Added Expand Whens passazidar
2016-02-09Moved passes to new packageazidar
2016-02-09Restructure passes to be new subpackage with more modular design, add new ↵Jack
structures Compiler and Emitter, deprecate old Passes object, update Driver to use new constructs