<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sfcX/src/main/scala/firrtl/options, branch master</title>
<subtitle>Scala FIRRTL Compiler for chiselX</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/'/>
<entry>
<title>[deprecation clean up] remove firrtl.ExecutionOptionsManager (#2422)</title>
<updated>2021-11-30T00:54:07+00:00</updated>
<author>
<name>Jiuyang Liu</name>
</author>
<published>2021-11-30T00:54:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=b7dd35e9cdeecb2d5125ef1d8802d5af17bff4ab'/>
<id>b7dd35e9cdeecb2d5125ef1d8802d5af17bff4ab</id>
<content type='text'>
Also remove all related APIs:

ComposableOptions
HasParser
CommonOptions
HasCommonOptions
FirrtlExecutionOptions
HasFirrtlOptions
FirrtlExecutionResult
FirrtlExecutionSuccess
FirrtlExecutionFailure
ExecutionOptionsManager
firrtl.stage.DriverCompatibility.firrtlResultView
logger.Logger.makeScope
OutputConfig
SingleFile
OneFilePerModule

* Change default LogLevel to None which means "unset"

Logger.getGlobalLevel then returns LogLevel.Warn when the current value
is LogLevel.None. This preserves the behavior of the default being
"Warn" but now uses LogLevel.None to indicate "I'm not setting the
value." This resolves issues where it was not possible to tell if
annotations were actually setting the log level or if the default level
of warn was just being filled in.

Co-authored-by: sinofp &lt;sinofp@tuta.io&gt;
Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also remove all related APIs:

ComposableOptions
HasParser
CommonOptions
HasCommonOptions
FirrtlExecutionOptions
HasFirrtlOptions
FirrtlExecutionResult
FirrtlExecutionSuccess
FirrtlExecutionFailure
ExecutionOptionsManager
firrtl.stage.DriverCompatibility.firrtlResultView
logger.Logger.makeScope
OutputConfig
SingleFile
OneFilePerModule

* Change default LogLevel to None which means "unset"

Logger.getGlobalLevel then returns LogLevel.Warn when the current value
is LogLevel.None. This preserves the behavior of the default being
"Warn" but now uses LogLevel.None to indicate "I'm not setting the
value." This resolves issues where it was not possible to tell if
annotations were actually setting the log level or if the default level
of warn was just being filled in.

Co-authored-by: sinofp &lt;sinofp@tuta.io&gt;
Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Let firrtl based applications run despite loading unknown annotations (#2387)</title>
<updated>2021-11-12T20:29:48+00:00</updated>
<author>
<name>Chick Markley</name>
</author>
<published>2021-11-12T20:29:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=c6093cbcd4f2eb8acd44f3b9d4e7146448de172f'/>
<id>c6093cbcd4f2eb8acd44f3b9d4e7146448de172f</id>
<content type='text'>
An application like barstools may contain a main that loads an annotations file containing
annotation classes that are not on it's classpath. This change allows unknown annotations
to be preserved by wrapping them in a UnrecognizedAnnotation. If annotations are then output
to a file, they will be unwrapped during serialization
This feature can be enabled via an AllowUnrecognizedAnnotations annotation

Co-authored-by: chick &lt;chick.markley@sifive.com&gt;
Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An application like barstools may contain a main that loads an annotations file containing
annotation classes that are not on it's classpath. This change allows unknown annotations
to be preserved by wrapping them in a UnrecognizedAnnotation. If annotations are then output
to a file, they will be unwrapped during serialization
This feature can be enabled via an AllowUnrecognizedAnnotations annotation

Co-authored-by: chick &lt;chick.markley@sifive.com&gt;
Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Remove The WriteEmitted Phase (#2390)</title>
<updated>2021-10-19T20:47:35+00:00</updated>
<author>
<name>David Biancolin</name>
</author>
<published>2021-10-19T20:47:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=5532d5024f70dc84041560a3e70029deda681e01'/>
<id>5532d5024f70dc84041560a3e70029deda681e01</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add BufferedCustomFileEmission (#2334)</title>
<updated>2021-08-21T00:08:40+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2021-08-21T00:08:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=dc2fbad9d6431cb52a7ad26937a100b288b86206'/>
<id>dc2fbad9d6431cb52a7ad26937a100b288b86206</id>
<content type='text'>
Uses virtual method .getBytesBuffered: Iterable[Array[Byte]] to optimize
file emission.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Uses virtual method .getBytesBuffered: Iterable[Array[Byte]] to optimize
file emission.</pre>
</div>
</content>
</entry>
<entry>
<title>Add typedef in DependencyManager.</title>
<updated>2021-07-25T11:03:12+00:00</updated>
<author>
<name>Jiuyang Liu</name>
</author>
<published>2021-07-25T11:03:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=b14d25ea9470b352d00acb0d3feedfe92b62fa45'/>
<id>b14d25ea9470b352d00acb0d3feedfe92b62fa45</id>
<content type='text'>
This is a bug fix, before this PR, Scala compiler will infer `Nothing`, which makes code below failed to compile:
```
class UserCompiler extends TransformManager(Seq(Dependency(UserPass))) {
  override def optionalPrerequisiteOf: Seq[TransformDependency] = Seq(
    Dependency[DedupModules]
  )
}
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a bug fix, before this PR, Scala compiler will infer `Nothing`, which makes code below failed to compile:
```
class UserCompiler extends TransformManager(Seq(Dependency(UserPass))) {
  override def optionalPrerequisiteOf: Seq[TransformDependency] = Seq(
    Dependency[DedupModules]
  )
}
```
</pre>
</div>
</content>
</entry>
<entry>
<title>Hoist Transform timing to the Phase level (#2190)</title>
<updated>2021-04-19T21:11:21+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2021-04-19T21:11:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=0a1aa5f56fe5eb563de7c33faa8eae33caa65441'/>
<id>0a1aa5f56fe5eb563de7c33faa8eae33caa65441</id>
<content type='text'>
With Stage/Phase, users can provide complex functionality at the phase
level rather than just the transform level. It is useful to have the
same logging information at that level. Note that this change still logs
transforms in the same way, but now the time in inclusive of annotation
renaming which can also [unfortunately] be slow.

Co-authored-by: mergify[bot] &lt;37929162+mergify[bot]@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With Stage/Phase, users can provide complex functionality at the phase
level rather than just the transform level. It is useful to have the
same logging information at that level. Note that this change still logs
transforms in the same way, but now the time in inclusive of annotation
renaming which can also [unfortunately] be slow.

Co-authored-by: mergify[bot] &lt;37929162+mergify[bot]@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Fix post-merge publishing (#2055)</title>
<updated>2021-01-26T19:14:33+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2021-01-26T19:14:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=aec9e9e61f9b6775bf313601ec5a44a34f608609'/>
<id>aec9e9e61f9b6775bf313601ec5a44a34f608609</id>
<content type='text'>
* Check Unidoc on all versions of Scala

  It is required for publishing and we publish every version

* Fix conflicting cross-version suffixes issue

  When running `sbt ++2.13.4 unidoc`, SBT would set the Scala version
  for the fuzzer and benchmark projects even though they aren't really
  relevant to the command. This may be a misconfiguration or a bug in
  the unidoc plugin. Whatever the case, simply making it possible for
  them to use the same version of Scala as the firrtl project (on which
  they depend) fixes the issue.

* Match versions of Scala in build.sbt and CI

* Fix unidoc issues in 2.13.4

  There is some bug in ScalaDoc not finding some links in firrtl.options
  so those links were made absolute as a workaround.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Check Unidoc on all versions of Scala

  It is required for publishing and we publish every version

* Fix conflicting cross-version suffixes issue

  When running `sbt ++2.13.4 unidoc`, SBT would set the Scala version
  for the fuzzer and benchmark projects even though they aren't really
  relevant to the command. This may be a misconfiguration or a bug in
  the unidoc plugin. Whatever the case, simply making it possible for
  them to use the same version of Scala as the firrtl project (on which
  they depend) fixes the issue.

* Match versions of Scala in build.sbt and CI

* Fix unidoc issues in 2.13.4

  There is some bug in ScalaDoc not finding some links in firrtl.options
  so those links were made absolute as a workaround.</pre>
</div>
</content>
</entry>
<entry>
<title>Make {Stage, FirrtlStage}.run protected (#1926)</title>
<updated>2020-10-13T20:33:27+00:00</updated>
<author>
<name>Schuyler Eldridge</name>
</author>
<published>2020-10-13T20:33:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=a5a8c7a8f5d1dd38ac3452d7c98ac7773f692304'/>
<id>a5a8c7a8f5d1dd38ac3452d7c98ac7773f692304</id>
<content type='text'>
* Make Stage.run protected

Change the access modifier of Stage.run from no modifier to protected.
This method is really an internal API that the user implements with
the main entry point for a Stage being "execute" or "transform". By
allowing users to access "run" they can bypass checks, mandatory file
reads/writes, and wrappers.

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;

* Make FirrtlStage.run protected

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Make Stage.run protected

Change the access modifier of Stage.run from no modifier to protected.
This method is really an internal API that the user implements with
the main entry point for a Stage being "execute" or "transform". By
allowing users to access "run" they can bypass checks, mandatory file
reads/writes, and wrappers.

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;

* Make FirrtlStage.run protected

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Speed up writing CustomFileEmission with buffering (#1906)</title>
<updated>2020-09-30T18:20:40+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2020-09-30T18:20:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=8657f419852b48b40c29e79b036006ab8a0a3b2c'/>
<id>8657f419852b48b40c29e79b036006ab8a0a3b2c</id>
<content type='text'>
Also speed up common case of Array[Byte]</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also speed up common case of Array[Byte]</pre>
</div>
</content>
</entry>
<entry>
<title>Change to Apache 2.0 License (#1901)</title>
<updated>2020-09-17T01:52:16+00:00</updated>
<author>
<name>Chick Markley</name>
</author>
<published>2020-09-17T01:52:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=ecb96e83324ea17cf38b7b90753d745d3c7f51bd'/>
<id>ecb96e83324ea17cf38b7b90753d745d3c7f51bd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
