aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes/Passes.scala
AgeCommit message (Collapse)Author
2016-07-27fix read port enables in RemoveCHIRRTLDonggyu Kim
read ports are declared outside when clauses and used multiple times, so their enables should be inserted when being replaced
2016-07-21Indentation support for the ANTLR parser (as discussed in #192) (#194)Kamyar Mohajerani
Indentation support for the ANTLR parser - some clean-up of the parser code (TODO: file input could be improved, more clean-up) - get rid of Translator and specify all syntactic rules in antlr4 grammer - support for else-when shorthand in the grammar - rename Begin to Block which makes more sense
2016-06-10API Cleanup - ASTJack
trait AST -> abstract class FirrtlNode Move all IR to new package ir Add import of firrtl.ir._
2016-06-10API Cleanup - PrimOp & PrimOpsJack
Add simple documentation trait PrimOp -> abstract class PrimOp Move PrimOp case objects to object PrimOps Rename PrimOp case objects to match concrete syntax Overrwrite toString for more canonical serialization Update some PrimOps utility functions
2016-06-10API Cleanup - ExpressionJack
trait Expression -> abstract class Expression Ref -> Reference abbrev. exp -> expr Add abstract class Literal UIntValue -> UIntLiteral extends Literal SIntValue -> SIntLiteral extends Literal
2016-06-10API Cleanup - StatementJack
trait Stmt -> abstract class Statement (to match Expression) abbrev. exp -> expr BulkConnect -> PartialConnect camelCase things that were snake_case case class Empty() -> case object EmptyStmt Change >120 character Statements to multiline
2016-06-10API Cleanup - WidthJack
Add simple documentation trait Width -> abstract class Width case class UnknownWidth -> case object UnknownWidth
2016-06-10API Cleanup - Field & FlipJack
Add simple documentation Flip -> Orientation trait Orientation -> abstract class Orientation Orientation case objects to upper camel case REVERSE -> Flip
2016-06-10API Cleanup - TypeJack
trait Type -> abstract class Type case class ClockType() -> case object ClockType case class UnknownType() -> case object UnknownType Add GroundType and AggregateType ClockType has width of IntWidth(1)
2016-06-10API Cleanup - Port & DirectionJack
Add simple documentation Change Direction case objects to upper camel case
2016-06-10API Cleanup - ModuleJack
trait Module -> abstract class DefModule InModule -> Module (match concrete syntax) ExModule -> ExtModule (match concrete syntax) Add simple scaladoc for each one
2016-06-08Fix for bug introduced in #174azidar
Addresses #184 Problem was that the width inferencer must assume a minimal width for self-referencing widths contained in a MaxWidth. Otherwise, it cannot solve the constraint.
2016-06-06Fix bug in FIRRTL width inference, refactor associated functionsStephen Twigg
When folding over lists for MinWidth and MaxWidth, would assume 0 as a start value. 0 persists through MinWidth resulting in under-constraining The functions were also refactored to be more readable and aligned with scala style/best practices.
2016-05-24Added Errors class and fixed tests.azidar
Canonicalizes catching/throwing PassExceptions.
2016-05-12Restructured Compiler to use Transforms. Added an InlineInstance pass.Adam Izraelevitz
Transforms are new unit of modularity within the compiler.
2016-05-11Remove trait StanzaPass and related dead codejackkoenig
2016-05-10Remove old SplitExp pass (replaced by SplitExpressions)jackkoenig
2016-05-03Move ExpandWhens to its own filejackkoenig
2016-04-29Change PassUtils to use Utils.time functionjackkoenig
2016-04-26Split ValidIf from within PrimOpsAndrew Waterman
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-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-08Fixed bug in Remove Accesses where a WSubAccess's index was not checked for ↵Adam Izraelevitz
accesses. Fixes #105
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-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