aboutsummaryrefslogtreecommitdiff
path: root/src/main
AgeCommit message (Collapse)Author
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-21Strip comments before checking for circuit in Translatorjackkoenig
Fixes #134
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-21Run Split Expressions before ConstProp, CSE, and DCEjackkoenig
This gives more expressions to eliminate
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-16Add useful traits for Names and Declarationsjackkoenig
2016-04-16Add more keywords to Id listjackkoenig
2016-04-16Add safety to Visitor.visitStmt to first check for TerminalNodejackkoenig
Fixes ucb-bar/chisel3#87
2016-04-15Fix Verilog emission for Modelsim compliationAndrew Waterman
Statements like: if (foo) x <= y; end else begin ; end are now emitted without the else clause: if (foo) x <= y; end and statements like: if (foo) ; end else begin x <= y; end are now emitted without the empty statement: if (foo) end else begin x <= y; end
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-09Fix bundle type equalityAdam Izraelevitz
Was not checking for length of bundles, so if the bundles matched but one had more fields, it was not caught.
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-04-06Merge pull request #102 from ucb-bar/propagate-mem-port-typesAdam Izraelevitz
Propagate memory port types in Emitter
2016-04-04Wrapped delay in ifndef verilator, as it is not supported by verilatorAdam Izraelevitz
2016-04-01Propagate memory port types in EmitterAndrew Waterman
Don't just use UnknownType() everywhere.
2016-03-24Fix Chirrtl serialization bugjackkoenig
2016-03-18Add guard to emission of simulation constructsjackkoenig
2016-03-15Change non-reentrant VerilogEmitter from object to classJack
2016-03-15Revamp string literal handlingjackkoenig
2016-03-10Add support for right shift by amount larger than argument widthjackkoenig
2016-03-10Add Module Mappersjackkoenig
2016-03-09Fix StringLit to ignore escaped double quotesdavidbiancolin
2016-03-03Remove unused files: DebugUtils and original Passesjackkoenig
2016-03-03Add some integration tests: successful compilation and executionjackkoenig
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-25Remove unused code in Driver, update help messagejackkoenig
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-24Quick fix for printf in the emitted VerilogKamyar Mohajerani
2016-02-23Change FIRRTL Compiler to remove CHIRRTL and Check High FIRRTL FormJack
2016-02-23Stop closing writers in compiler, close in Driver instead (allows others to ↵Jack
use StringWriters without the Compiler closing it)
2016-02-22Change default log-level to warn, users should change manually if so desiredJack