Skip to content

Use new lazy serialization in FIRRTL #2741

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Sep 20, 2022
Merged

Use new lazy serialization in FIRRTL #2741

merged 3 commits into from
Sep 20, 2022

Conversation

jackkoenig
Copy link
Contributor

This enables emission of modules that serialize to >2 GiB of .fir text.

See chipsalliance/firrtl#2554.

This has no impact on performance for most designs, it slightly improves serialization performance for designs with very large modules (due to the cost of allocating large Strings--but the JVM is very good at this so the impact is small).

Contributor Checklist

  • Did you add Scaladoc to every public function/method?
  • Did you add at least one test demonstrating the PR?
  • Did you delete any extraneous printlns/debugging code?
  • Did you specify the type of improvement?
  • Did you add appropriate documentation in docs/src?
  • Did you state the API impact?
  • Did you specify the code generation impact?
  • Did you request a desired merge strategy?
  • Did you add text to be included in the Release Notes for this change?

Type of Improvement

  • bug fix
  • performance improvement

API Impact

No change

Backend Code Generation Impact

No impact

Desired Merge Strategy

  • Squash

Release Notes

Support serialization of Modules that require over 2 GiB of .fir text.

Reviewer Checklist (only modified by reviewer)

  • Did you add the appropriate labels?
  • Did you mark the proper milestone (Bug fix: 3.4.x, [small] API extension: 3.5.x, API modification or big change: 3.6.0)?
  • Did you review?
  • Did you check whether all relevant Contributor checkboxes have been checked?
  • Did you do one of the following when ready to merge:
    • Squash: You/ the contributor Enable auto-merge (squash), clean up the commit message, and label with Please Merge.
    • Merge: Ensure that contributor has cleaned up their commit history, then merge with Create a merge commit.

This enables emission of modules that serialize to >2 GiB of .fir text.
@jackkoenig jackkoenig added this to the 3.5.x milestone Sep 20, 2022
@jackkoenig jackkoenig enabled auto-merge (squash) September 20, 2022 18:23
@jackkoenig jackkoenig added the Please Merge Accepted PRs that are ready to be merged. Useful when waiting on CI. label Sep 20, 2022
@jackkoenig jackkoenig merged commit 2cbc852 into master Sep 20, 2022
@jackkoenig jackkoenig deleted the lazy-serialization branch September 20, 2022 19:05
mergify bot pushed a commit that referenced this pull request Sep 20, 2022
This enables emission of modules that serialize to >2 GiB of .fir text.

(cherry picked from commit 2cbc852)
@mergify mergify bot added the Backported This PR has been backported label Sep 20, 2022
mergify bot added a commit that referenced this pull request Sep 20, 2022
This enables emission of modules that serialize to >2 GiB of .fir text.

(cherry picked from commit 2cbc852)

Co-authored-by: Jack Koenig <koenig@sifive.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backported This PR has been backported Please Merge Accepted PRs that are ready to be merged. Useful when waiting on CI.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants