[ESI] Slim down manifest#10578
Draft
teqdruid wants to merge 3 commits into
Draft
Conversation
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
Contributor
There was a problem hiding this comment.
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
clientPortsentries (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
typestable (emit the type as a plain string instead) to prevent unused type-table bloat. - Retain
symConstsmodule 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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