1. Dec 03, 2016
  2. Dec 02, 2016
  3. Dec 01, 2016
  4. Nov 24, 2016
  5. Nov 22, 2016
    • Adam Izraelevitz's avatar
      9a967a27
    • Adam Izraelevitz's avatar
      Rewrote inline xform to fix quadratic perf. bug (#377) · aad8e09f
      Adam Izraelevitz authored
      * Rewrote inline xform to fix quadratic perf. bug
      
      Turns out caching previously inlined modules is not useful
      
      The previous algorithm in a module, would flatten an instance's children, then
      flatten that instance. This caused all instances to be effectively
      inlined the number of times of its depth in the instance hierarchy,
      making it O(n*d*s), where n is the number of instances, and d is the depth
      of the instance, and s is the number of statements in the instance.
      
      The new algorithm directly inlines a module by keeping track of the
      parents of that instance, making it constant time with the number of
      instantiated instances.
      
      * Minor style fixes
      aad8e09f
  6. Nov 16, 2016
  7. Nov 15, 2016
    • Adam Izraelevitz's avatar
      Fix wrong omitting same clocked nondirect children (#374) · a029b9bb
      Adam Izraelevitz authored
      * Fix wrong omitting same clocked nondirect children
      
      * Minor style fixes
      a029b9bb
    • Adam Izraelevitz's avatar
      Bugfix inferwidth (#372) · cf1372d5
      Adam Izraelevitz authored
      * Bugfix: removed recursive removal in infer widths
      
      This will certainly lead to more uninferred width errors, but now widths
      that were previously incorrectly inferred are now correctly uninferred.
      
      An example is:
        reg r : UInt, clock with: (reset => (reset, UInt<2>(3)))
        node x = add(r, r)
        r <= x
      
      Here, r's width follows the following formula, which cannot be solved:
      
      rWidth >= max(max(rWidth, rWidth) + 1, 2)
      
      * Added optimizations to for better width inference
      
      Also added exceptions for uninferred widths when checking DoPrim width
      legality to not trigger compiler error
      
      * Added additional optimizations
      
      Required for passing all chisel3 tests
      cf1372d5
  8. Nov 11, 2016
  9. Nov 10, 2016
    • azidar's avatar
      Added optimizations to for better width inference · 76f91f31
      azidar authored
      Also added exceptions for uninferred widths when checking DoPrim width
      legality to not trigger compiler error
      76f91f31
    • azidar's avatar
      Bugfix: removed recursive removal in infer widths · ba417a89
      azidar authored
      This will certainly lead to more uninferred width errors, but now widths
      that were previously incorrectly inferred are now correctly uninferred.
      
      An example is:
        reg r : UInt, clock with: (reset => (reset, UInt<2>(3)))
        node x = add(r, r)
        r <= x
      
      Here, r's width follows the following formula, which cannot be solved:
      
      rWidth >= max(max(rWidth, rWidth) + 1, 2)
      ba417a89
  10. Nov 08, 2016
  11. Nov 06, 2016
    • Donggyu's avatar
      Fix CHIRRTL bugs (#355) · e05ca2b2
      Donggyu authored
      * handle uninferred ports gracefully in RemoveCHIRRTL
      
      memory port directions are not inferred during CInferMDir if not being used, so handle them properly in RemoveCHIRRTL
      
      * fix CInferTypes
      e05ca2b2
  12. Nov 05, 2016
    • Jack Koenig's avatar
      Cleanup license at top of every file (#364) · 82da5e79
      Jack Koenig authored
      Replace with more sensible comment to see LICENSE rather than including the
      whole license in every file
      82da5e79
    • azidar's avatar
      Add a pass to deduplicate modules · 1c36656f
      azidar authored
      1c36656f
    • jackkoenig's avatar
      Refactor Compilers and Transforms · 8fa9429a
      jackkoenig authored
      * Transform Ids now handled by Class[_ <: Transform] instead of magic numbers
      * Transforms define inputForm and outputForm
      * Custom transforms can be inserted at runtime into compiler or the Driver
      * Current "built-in" custom transforms handled via above mechanism
      * Verilog-specific passes moved to the Verilog emitter
      8fa9429a
  13. Nov 04, 2016
  14. Nov 02, 2016
  15. Nov 01, 2016
  16. Oct 31, 2016
  17. Oct 28, 2016
  18. Oct 27, 2016
  19. Oct 25, 2016
    • Chick Markley's avatar
      Logger 1 (#338) · d344f440
      Chick Markley authored
      * Create a simple system for executions and command line parameters
      New model for tracking parameters and having those parameters
      register scopt command to allow the parameters to be set by
      command line args.
      Create composable forms of the these parameters to allow separate
      elements of the chisel3 toolchain to combine these parameters
      Create execution return structures that simplify return values
      to earlier toolchain elements
      
      * just a little bit of cleanup
      
      * Fixes for Adam's comments on PR
      
      * knuckled under to self-pressure to allow former -i and -o to work
      
      * knuckled under to self-pressure to allow former -i and -o to work
      
      * show defaults for command line args with them
      
      * A couple of fixes from merging latest master
      
      * Implement a log4scala like logging system
      This system has the rather remarkable property
      that it is possible to turn it on conveniently when
      you want it.  It also provides for class level granularity
      as well as the traditional Error, Warn, Info, Debug
      
      * some style fixes and change infoMode default to append per PR #328
      
      * some style fixes and change infoMode default to append per PR #328
      
      * support -i -o and -X
      a couple of indentation and spacing fixes
      d344f440
    • Donggyu's avatar
      aca23a61
  20. Oct 24, 2016
    • Angie Wang's avatar
      Fix bitmask (#346) · de45e93c
      Angie Wang authored
      * toBitMask cat direction should be consistent with data
      
      * minor comment updates
      
      * moved remaining mem passes/utils to memlib
      
      * changed again so that data, mask are consistent. data element 0, bit 0 = LSB (on RHS) when concatenated
      de45e93c
  21. Oct 21, 2016
  22. Oct 20, 2016