Integrated: 8317349: Randomize order of macro node expansion in C2

Daniel Lundén dlunden at openjdk.org
Wed Feb 7 10:04:00 UTC 2024


On Fri, 2 Feb 2024 13:03:53 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.

This pull request has now been integrated.

Changeset: 4abb10eb
Author:    Daniel Lundén <dlunden at openjdk.org>
Committer: Roberto Castañeda Lozano <rcastanedalo at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/4abb10eb0b8ec5aab2e276f5c3a99ff5db7bc877
Stats:     231 lines in 15 files changed: 125 ins; 83 del; 23 mod

8317349: Randomize order of macro node expansion in C2

Reviewed-by: chagedorn, rcastanedalo, thartmann

-------------

PR: https://git.openjdk.org/jdk/pull/17684


More information about the hotspot-compiler-dev mailing list