Skip to content
This repository has been archived by the owner on Aug 20, 2024. It is now read-only.

Add --start-from option (backport #2273) #2274

Merged
merged 3 commits into from
Jun 22, 2021
Merged

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Jun 17, 2021

This is an automatic backport of pull request #2273 done by Mergify.
Cherry-pick of c7eaa67 has failed:

On branch mergify/bp/1.4.x/pr-2273
Your branch is up to date with 'origin/1.4.x'.

You are currently cherry-picking commit c7eaa67d.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   src/main/scala/firrtl/stage/FirrtlAnnotations.scala
	modified:   src/main/scala/firrtl/stage/package.scala
	modified:   src/main/scala/firrtl/stage/phases/Compiler.scala
	new file:   src/test/scala/firrtl/stage/CurrentFirrtlStateAnnotationSpec.scala

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   src/main/scala/firrtl/stage/FirrtlCli.scala

To fix up this pull request, you can check it out locally. See documentation: https://help.github.com/articles/checking-out-pull-requests-locally/


Mergify commands and options

More conditions and actions can be found in the documentation.

You can also trigger Mergify actions by commenting on this pull request:

  • @Mergifyio refresh will re-evaluate the rules
  • @Mergifyio rebase will rebase this PR on its base branch
  • @Mergifyio update will merge the base branch into this PR
  • @Mergifyio backport <destination> will backport this PR on <destination> branch

Additionally, on Mergify dashboard you can:

  • look at your merge queues
  • generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.io/

@mergify mergify bot added Backport Automated backport, please consider for minor release bp-conflict labels Jun 17, 2021
Add a new option to the FIRRTL compiler, "--start-from = <form>".  If
used, this will cause the compiler to assume that the input FIRRTL
circuit is already in the specific form.  It will then skip unnecessary
passes given this information.

E.g., if a user requests to run "firrtl -X verilog --start-from low"
then the compiler will only run transforms necessary to get from low
FIRRTL to Verilog.  Transforms necessary for ingesting FIRRTL IR will be
run if needed (checks and type/kind/flow resolution).

To implement this, a CurrentFirrtlStateAnnotation is added.  Advanced
users can use this directly to tell the FIRRTL compiler exactly what
transforms have already been run, including the ability to ignore checks
or type/kind/flow resolution if they so desire.

Signed-off-by: Schuyler Eldridge <[email protected]>
(cherry picked from commit c7eaa67)
@seldridge
Copy link
Member

@jackkoenig: It looks like this is failing backwards compatibility due to adding a parameter to each of two private case class. 🤔 This doesn't have to be backported, though this is a situation where it should be safe to waive the checks. I'll let you make the call on this one.

@jackkoenig
Copy link
Contributor

These are JVM binary incompatible, but not visible from Scala so we waive them. See relevant MiMa issue: lightbend-labs/mima#53

Copy link
Member

@seldridge seldridge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for picking this up @jackkoenig!

@mergify mergify bot merged commit 97dbe29 into 1.4.x Jun 22, 2021
@mergify mergify bot deleted the mergify/bp/1.4.x/pr-2273 branch June 22, 2021 22:33
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Backport Automated backport, please consider for minor release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants