Revert "Increase number of assertions (GlobalAP) + VN cache (#124132)"#124928
Revert "Increase number of assertions (GlobalAP) + VN cache (#124132)"#124928AndyAyersMS merged 1 commit intodotnet:mainfrom
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
There was a problem hiding this comment.
Pull request overview
This PR reverts commit 92741be which introduced VN (Value Number) caching and a more sophisticated assertion count heuristic for the JIT's global assertion propagation optimization. The revert is necessary because the original changes caused excessive memory allocation during jitting.
Changes:
- Restored the original simpler IL-size-based assertion count heuristic (using a lookup table based on IL code size)
- Removed the VN-based caching mechanism (
optAssertionVNsMap) and related helper method (optAssertionHasAssertionsForVN) - Reverted early-exit optimizations that relied on the VN cache
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/coreclr/jit/rangecheck.cpp | Reverted VN cache check back to simple NoVN check in MergeEdgeAssertions |
| src/coreclr/jit/compiler.h | Removed optAssertionVNsMap field and optAssertionHasAssertionsForVN method declaration |
| src/coreclr/jit/assertionprop.cpp | Restored original assertion count heuristic, removed VN caching logic in optAddAssertion, removed optAssertionHasAssertionsForVN implementation, and removed VN-based early-exit optimizations |
adamperlin
left a comment
There was a problem hiding this comment.
I don't have the context to say what exactly is causing the issue here, but I'm signing off to unblock as this fix was confirmed to resolve the memory usage issue.
|
/ba-g build analysis stuck |
This reverts commit 92741be.
This was causing excessive memory allocation during jitting (see dotnet/dotnet#4933).