RFR: 8317349: Randomize order of macro node expansion in C2 [v4]
Daniel Lundén
dlunden at openjdk.org
Wed Feb 7 09:10:54 UTC 2024
On Tue, 6 Feb 2024 12:26:10 GMT, Daniel Lundén <dlunden at openjdk.org> wrote:
>> This changeset adds a flag `StressMacroExpansion` which randomizes macro expansion ordering for stress testing purposes.
>>
>> Changes:
>> - Implement the flag `StressMacroExpansion`.
>> - Add functionality tests for `StressMacroExpansion`, analogous to testing for previous stress flags such as `StressIGVN`.
>> - Add `StressMacroExpansion` to a number of tests that already turn on all other stress flags (and therefore should also use `StressMacroExpansion`).
>> - Rename the previous compiler phase `MACRO_EXPANSION` to `AFTER_MACRO_EXPANSION`.
>> - Add a new Ideal phase for individual macro expansion steps, allowing `StressMacroExpansion` testing. Below is a sample phase list screenshot including the new phase (IGV print level 5 with "After Iter GVN Step" omitted).
>> <p align="center">
>> <img src="https://github.com/openjdk/jdk/assets/4222397/be3e38ee-c9f3-4495-9870-997b2d2a6801" width="300">
>> </p>
>>
>> Question for the review: are the new macro expansion Ideal phases OK, or should we change anything?
>>
>> Testing:
>> - [GitHub Actions](https://github.com/dlunde/jdk/actions/runs/7799549785)
>> - 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.
>
> Daniel Lundén has updated the pull request incrementally with one additional commit since the last revision:
>
> Change to single macro expansion step phase
I've now rerun tests and this is ready for integration. Thanks for the reviews, please sponsor!
-------------
PR Comment: https://git.openjdk.org/jdk/pull/17684#issuecomment-1931587222
More information about the hotspot-compiler-dev
mailing list