Skip to content
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

[HW][IST] Verify simple inner-ref-user ops sequentially, perf fix. #6850

Merged
merged 1 commit into from Mar 19, 2024

Conversation

dtzSiFive
Copy link
Contributor

When an IRN has a huge number of top-level operations that need inner ref verification, the current code scaled poorly as the amount of per-op verification work is tiny (handful of hashtable lookups) compared to the overhead and atomic access of failableParallelForEach.

Scan through the operations sequentially as a pre-pass and directly verify operations with no regions, only using parallelization for verifying recursive walks of modules.

When an IRN has a huge number of top-level operations that need inner
ref verification, the current code scaled poorly as the amount of
per-op verification work is tiny (handful of hashtable lookups)
compared to the overhead and atomic access of failableParallelForEach.

Scan through the operations sequentially as a pre-pass and directly
verify operations with no regions, only using parallelization for
verifying recursive walks of modules.
Copy link
Member

@youngar youngar left a comment

Choose a reason for hiding this comment

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

Nice work!

@dtzSiFive dtzSiFive merged commit feb974d into llvm:main Mar 19, 2024
4 checks passed
@dtzSiFive dtzSiFive deleted the fix/verify-irn-parallelization-cost branch March 19, 2024 20:43
Copy link

@KidiIT KidiIT left a comment

Choose a reason for hiding this comment

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

All reviewed and approved🫶❤️

@KidiIT
Copy link

KidiIT commented Mar 19, 2024

All done here🫶❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants