aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-04-29Change PassUtils to use Utils.time functionjackkoenig
2016-04-29Cleanup Parser comments and imports - No functional changesjackkoenig
2016-04-29Add timing to Parserjackkoenig
2016-04-29Add time function to Utilsjackkoenig
time uses LazyLogging, also delete import PrimOps._ (cyclic reference)
2016-04-26Test that nested expressions don't make it to the EmitterAndrew Waterman
2016-04-26Make sure nested expressions don't make it to the EmitterAndrew Waterman
2016-04-26Split ValidIf from within PrimOpsAndrew Waterman
2016-04-26Fixed the check for bundle equality to allow relative flips to be wrong, but ↵Adam Izraelevitz
the leaf directions are the same
2016-04-26Added flag to parser to turn off using source locators. This allows for ↵Adam Izraelevitz
easier testing, because we don't the source locator information to say a test fails
2016-04-26Add test for recursive check for whether BundleType contains flipsAdam Izraelevitz
2016-04-26Fixed bug in recursive check for whether BundleType contains flips.Adam Izraelevitz
2016-04-22Add tests for Uniquify passjackkoenig
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-22Add Lower Types testsjackkoenig
2016-04-22Add "normalize" function to FirrtlSpec for easier string comparison testingjackkoenig
2016-04-22Refactor LowerTypesjackkoenig
Make loweredName a public utility function of the Pass
2016-04-22Move LowerTypes to its own filejackkoenig
2016-04-22Add utility functions for coverting and computing Gender and Flipjackkoenig
2016-04-22Add isGround and isAggregate functions to Type Utils.jackkoenig
2016-04-22Add optional Info argument to FieldUtils.ToPortjackkoenig
2016-04-22Change FIRRTLException: case class -> class so case classes can extendjackkoenig
2016-04-21Add Expression.tpe accessorAndrew Waterman
Almost all of the code was already there. This is cleaner (and faster) than calling tpe(Expression).
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-20Add tests for CHIRRTL mem port definitions.jackkoenig
Including using different clocks and ports defined in when scope.
2016-04-20Change RemoveCHIRRTL to define port clocks at CHIRRTL port definitionjackkoenig
Invalidate clock at mem definition. Fixes #131
2016-04-20Fix top.cpp reset race condition #137jackkoenig
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 license to testsjackkoenig
2016-04-16Add some Parser testsjackkoenig
Need many more, but this at least checks some DefMemory, DefRegister, and keyword cases.
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-08Add small test for issue #105jackkoenig