RFR: 8325478: Restructure the macro expansion compiler phase to not include macro elimination [v7]
Daniel Lundén
dlunden at openjdk.org
Wed Jun 25 09:51:30 UTC 2025
On Tue, 24 Jun 2025 16:32:11 GMT, Saranya Natarajan <snatarajan at openjdk.org> wrote:
>> This changeset restructures the macro expansion phase to not include macro elimination and also adds a flag StressMacroElimination which randomizes macro elimination ordering for stress testing purposes.
>>
>> Changes:
>> - Implemented a method `eliminate_opaque_looplimit_macro_nodes` that removes the functionality for eliminating Opaque and LoopLimit nodes from the `expand_macro_nodes ` method.
>> - Introduced compiler phases` PHASE_AFTER_MACRO_ELIMINATION`
>> - Added a new Ideal phase for individual macro elimination steps.
>> - Implemented the flag `StressMacroElimination`. Added functionality tests for `StressMacroElimination`, similar to previous stress flag `StressMacroExpansion` ([JDK-8317349](https://bugs.openjdk.org/browse/JDK-8317349)).
>>
>> Below is a sample screenshot (IGV print level 4 ) mainly showing the new phase .
>> 
>>
>> Questions to reviewers:
>> - Is the new macro elimination phase OK, or should we change anything?
>> - In `compile.cpp `, `PHASE_ITER_GVN_AFTER_ELIMINATION` follows `PHASE_AFTER_MACRO_ELIMINATION` in the current fix. Should `PHASE_ITER_GVN_AFTER_ELIMINATION` be removed ?
>>
>> Testing:
>> GitHub Actions
>> tier1 to tier5 on windows-x64, linux-x64, linux-aarch64, macosx-x64, and macosx-aarch64.
>> Tested that thousands of graphs are correctly opened and visualized with IGV using the same test used in ([JDK-8317349](https://bugs.openjdk.org/browse/JDK-8317349))
>
> Saranya Natarajan has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision:
>
> merge with master
> Merge branch 'master' of https://git.openjdk.org/jdk into JDK-8325478
Marked as reviewed by dlunden (Committer).
-------------
PR Review: https://git.openjdk.org/jdk/pull/25682#pullrequestreview-2957477670
More information about the hotspot-compiler-dev
mailing list