RFR: 8268963: [IR Framework] Some default regexes matching on PrintOptoAssembly in IRNode.java do not work on all platforms
Vladimir Kozlov
kvn at openjdk.java.net
Thu Jul 29 16:53:27 UTC 2021
On Thu, 29 Jul 2021 12:13:21 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:
> The test `TestIRMatching` verifies that the various default regexes work as expected. This test however, does not work for some default regexes matching the `PrintOptoAssembly` output on aarch64, x86, PPC and s390 due to slightly different formats/emitted instructions. This patch includes:
> - Default regex fixes which required some refactoring in `IRNode` to make them work properly (includes composite regex format/processing, checks on the application of default regexes etc.).
> - `TestIRMatching` fixes to adapt for the changes of the default regexes for different platforms.
> - `TestIRMatching` refactoring to better report errors (bulk reporting).
> - Added timeout to `TestIRMatching` which is hit on PPC.
> - Added checks to skip rules containing certain default regexes that cannot be used when certain conditions are met (e.g. `CHECKCAST_ARRAYCOPY` cannot be used on s390 as there is no stub for it in C2). This also includes an improved log reporting from the test VM (where these conditions are checked) to allow the user to be informed about skipped IR rules.
>
> These changes were tested on x86, x64, aarch64, PPC and s390 with all framework JTreg tests:
>
> testlibrary_tests/ir_framework/tests testlibrary_tests/ir_framework/examples
>
> Thanks to @TheRealMDoerr for helping with the testing on PPC and s390.
>
> I additionally applied the changes to Valhalla and tested the converted inline type tests with flag settings from tier1-9.
>
> I thought about splitting these changes into separate tasks but all of these changes are somehow related/required to tackle this default regex problem. I therefore included these fixes in a single change.
>
> Thanks,
> Christian
Good.
-------------
Marked as reviewed by kvn (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/4931
More information about the hotspot-compiler-dev
mailing list