Repository navigation
JIT: remove duplicate node uniqueness check - #132624
Merged
Merged
Conversation
|
Azure Pipelines: Successfully started running 5 pipeline(s). 11 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
Phase::PostPhase runs fgDebugCheckNodesUniqueness under CHECK_UNIQUE and then fgDebugCheckLinks under CHECK_IR, which ran it a second time. CHECK_UNIQUE is enabled before importation and CHECK_IR only after morph, so CHECK_IR is never active without CHECK_UNIQUE and the inner call is always redundant. Checked JIT instructions retired: benchmarks.run -5.82% benchmarks.run_pgo -5.57% benchmarks.run_pgo_optrepeat -5.82% libraries.pmi -5.54% benchmarks.run replay wall clock: 67.38s -> 65.11s (-3.37%). Co-authored-by: Copilot <[email protected]> Copilot-Session: 064035bf-fb1f-450e-afd2-08a7700aa736
jakobbotsch
force-pushed
the
jit-dedup-uniqueness-check
branch
from
August 21, 2026 14:38
aa63786 to
5ac11f6
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR removes a redundant IR debug-validation pass in the JIT by eliminating an unconditional fgDebugCheckNodesUniqueness() call from Compiler::fgDebugCheckLinks(), relying instead on the existing Phase::PostPhase CHECK_UNIQUE/CHECK_IR sequencing to avoid double work.
Changes:
- Remove the unconditional
fgDebugCheckNodesUniqueness()call fromCompiler::fgDebugCheckLinks(). - Preserve uniqueness checking via
Phase::PostPhasewhenPhaseChecks::CHECK_UNIQUEis enabled (and link checking viaCHECK_IR), avoiding duplicate full-IR walks.
Member
Author
|
PTAL @dotnet/jit-contrib |
3 tasks
EgorBo
approved these changes
Aug 21, 2026
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Phase::PostPhase runs fgDebugCheckNodesUniqueness under CHECK_UNIQUE and then fgDebugCheckLinks under CHECK_IR, which ran it a second time. CHECK_UNIQUE is enabled before importation and CHECK_IR only after morph, so CHECK_IR is never active without CHECK_UNIQUE and the inner call is always redundant.
Checked JIT instructions retired:
benchmarks.run replay wall clock: 67.38s -> 65.11s (-3.37%).