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