Skip to content

[ESI] Slim down manifest#10578

Draft
teqdruid wants to merge 3 commits into
mainfrom
teqdruid/manifest-extra
Draft

[ESI] Slim down manifest#10578
teqdruid wants to merge 3 commits into
mainfrom
teqdruid/manifest-extra

Conversation

@teqdruid
Copy link
Copy Markdown
Contributor

@teqdruid teqdruid commented Jun 2, 2026

There's a bunch of unnecessary stuff in ESI (in-accelerator) manifests. This commit slims it down to only the stuff which the user can actually use. In an internal build of the internal version of esitester, it reduces the size of the manifest by ~60% and the compressed manifest by ~50%.

Assisted-b: vscode:Claude Opus 4.8

There's a bunch of unnecessary stuff in ESI (in-accelerator) manifests.
This commit slims it down to only the stuff which the user can actually
use.

Assisted-b: vscode:Claude Opus 4.8
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR reduces the size of ESI (in-accelerator) JSON manifests by pruning manifest information that is not reachable/usable by the runtime’s Accelerator design tree, thereby avoiding emitting unused client ports and their associated type/service declaration metadata.

Changes:

  • Prune clientPorts entries (and corresponding design hierarchy nodes) unless the port is bound via a non-empty channel assignment (i.e., reachable through a host-reachable engine).
  • Avoid registering service declaration port types in the global types table (emit the type as a plain string instead) to prevent unused type-table bloat.
  • Retain symConsts module constants even when the associated module symbol would otherwise be pruned from the manifest’s referenced-symbol set.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
test/Dialect/ESI/manifest.mlir Updates FileCheck expectations to reflect pruned client ports/service decl entries and reduced type-table output.
lib/Dialect/ESI/Passes/ESIBuildManifest.cpp Implements manifest pruning based on engine channel assignments; adjusts node/block emission and reduces type-table population for service decl port types.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@circt-bot
Copy link
Copy Markdown

circt-bot Bot commented Jun 2, 2026

Results of circt-tests run for 404a2da compared to results for e217d99: no change to test results.

@circt-bot
Copy link
Copy Markdown

circt-bot Bot commented Jun 2, 2026

Results of circt-tests run for e27d5d2 compared to results for e217d99: no change to test results.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

@circt-bot
Copy link
Copy Markdown

circt-bot Bot commented Jun 3, 2026

Results of circt-tests run for 21c6745 compared to results for e217d99: no change to test results.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants