RFR: 8311923: TestIRMatching.java fails on RISC-V
Fei Yang
fyang at openjdk.org
Mon Jul 17 03:51:21 UTC 2023
On Wed, 12 Jul 2023 08:39:11 GMT, Gui Cao <gcao at openjdk.org> wrote:
> Hi, we are experiencing test failures in test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestIRMatching.java using fastdebug:
>
>
> One or more @IR rules failed:
>
> Failed IR Rules (1) of Methods (1)
> ----------------------------------
> 1) Method "public java.lang.Object[] ir_framework.tests.CheckCastArray.arrayCopy(java.lang.Object[],java.lang.Class)" - [Failed IR rules: 1]:
> * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={}, failOn={"_#CHECKCAST_ARRAYCOPY#_"}, applyIfAnd={}, applyIfOr={}, applyIfNot={})"
> > Phase "PrintOptoAssembly":
> - failOn: Graph contains forbidden nodes:
> * Constraint 1: "(.*((?i:call_leaf_nofp,runtime)|CALL,\\s?runtime leaf nofp|BCTRL.*.leaf call).*checkcast_arraycopy.*)"
> - Matched forbidden node:
> * 15a + CALL, runtime leaf nofp 0x0000003f7fbd9600 #@CallLeafNoFPDirect checkcast_arraycopy
>
>>>> Check stdout for compilation output of the failed methods
>
> Through the description of the problem in the JBS issue, to fix this, we modified the matching rules in test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java and added the mv directive to the matching rules.
>
> ## Testing:
> qemu system and unmatched board:
> - [x] test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestIRMatching.java (fastdebug)
test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java line 210:
> 208: optoOnly(ALLOC_OF, regex);
> 209: }
> 210:
Suggestion: I think it will be safer to update regex for `ALLOC` and `ALLOC_OF` adding matching for RISC-V `mv` at the same time.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14848#discussion_r1264814840
More information about the hotspot-compiler-dev
mailing list