-
Bug
-
Resolution: Unresolved
-
P3
-
repo-valhalla
The test fails on multiple platforms without any additional flags
Failed IR Rules (3) of Methods (3)
----------------------------------
1) Method "static java.lang.Object[] compiler.c2.TestMergeStores.test100a(short[],int)" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#C#STORE_B_OF_CLASS#_", "short\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "0", "_#C#STORE_C_OF_CLASS#_", "short\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1", "_#C#STORE_I_OF_CLASS#_", "short\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1", "_#C#STORE_L_OF_CLASS#_", "short\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "3"}, failOn={}, applyIfPlatformOr={}, applyIfPlatform={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"UseUnalignedAccesses", "true"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 2: "(\\d+(\\s){2}(StoreC.*)+(\\s){2}===.*@\\S*short\\[int:>=0] \\(java/lang/Cloneable,java/io/Serializable\\)(:|\\+)\\S* \\*)"
- Failed comparison: [found] 2 = 1 [given]
- Matched nodes (2):
* 65 StoreC === 47 7 63 25 |32 [[ 74 ]] @short[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=5; Memory: @short[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *
* 208 StoreC === 73 562 206 187 |32 [[ 624 ]] @short[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=5; Memory: @short[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *
2) Method "static java.lang.Object[] compiler.c2.TestMergeStores.test200a(int[],int)" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#C#STORE_B_OF_CLASS#_", "int\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "0", "_#C#STORE_C_OF_CLASS#_", "int\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "0", "_#C#STORE_I_OF_CLASS#_", "int\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1", "_#C#STORE_L_OF_CLASS#_", "int\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "7"}, failOn={}, applyIfPlatformOr={}, applyIfPlatform={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"UseUnalignedAccesses", "true"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 3: "(\\d+(\\s){2}(StoreI.*)+(\\s){2}===.*@\\S*int\\[int:>=0] \\(java/lang/Cloneable,java/io/Serializable\\)(:|\\+)\\S* \\*)"
- Failed comparison: [found] 2 = 1 [given]
- Matched nodes (2):
* 65 StoreI === 47 7 63 25 |32 [[ 75 ]] @int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=5; Memory: @int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *
* 208 StoreI === 74 562 206 187 |32 [[ 634 ]] @int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=5; Memory: @int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *
3) Method "static java.lang.Object[] compiler.c2.TestMergeStores.test5a(byte[],int)" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#C#STORE_B_OF_CLASS#_", "byte\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1", "_#C#STORE_C_OF_CLASS#_", "byte\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1", "_#C#STORE_I_OF_CLASS#_", "byte\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1", "_#C#STORE_L_OF_CLASS#_", "byte\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1"}, failOn={}, applyIfPlatformOr={}, applyIfPlatform={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"UseUnalignedAccesses", "true"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 1: "(\\d+(\\s){2}(StoreB.*)+(\\s){2}===.*@\\S*byte\\[int:>=0] \\(java/lang/Cloneable,java/io/Serializable\\)(:|\\+)\\S* \\*)"
- Failed comparison: [found] 2 = 1 [given]
- Matched nodes (2):
* 64 StoreB === 47 7 62 25 |32 [[ 73 ]] @byte[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=5; Memory: @byte[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *
* 204 StoreB === 72 559 202 183 |32 [[ 599 ]] @byte[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=5; Memory: @byte[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *
Failed IR Rules (3) of Methods (3)
----------------------------------
1) Method "static java.lang.Object[] compiler.c2.TestMergeStores.test100a(short[],int)" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#C#STORE_B_OF_CLASS#_", "short\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "0", "_#C#STORE_C_OF_CLASS#_", "short\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1", "_#C#STORE_I_OF_CLASS#_", "short\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1", "_#C#STORE_L_OF_CLASS#_", "short\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "3"}, failOn={}, applyIfPlatformOr={}, applyIfPlatform={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"UseUnalignedAccesses", "true"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 2: "(\\d+(\\s){2}(StoreC.*)+(\\s){2}===.*@\\S*short\\[int:>=0] \\(java/lang/Cloneable,java/io/Serializable\\)(:|\\+)\\S* \\*)"
- Failed comparison: [found] 2 = 1 [given]
- Matched nodes (2):
* 65 StoreC === 47 7 63 25 |32 [[ 74 ]] @short[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=5; Memory: @short[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *
* 208 StoreC === 73 562 206 187 |32 [[ 624 ]] @short[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=5; Memory: @short[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *
2) Method "static java.lang.Object[] compiler.c2.TestMergeStores.test200a(int[],int)" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#C#STORE_B_OF_CLASS#_", "int\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "0", "_#C#STORE_C_OF_CLASS#_", "int\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "0", "_#C#STORE_I_OF_CLASS#_", "int\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1", "_#C#STORE_L_OF_CLASS#_", "int\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "7"}, failOn={}, applyIfPlatformOr={}, applyIfPlatform={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"UseUnalignedAccesses", "true"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 3: "(\\d+(\\s){2}(StoreI.*)+(\\s){2}===.*@\\S*int\\[int:>=0] \\(java/lang/Cloneable,java/io/Serializable\\)(:|\\+)\\S* \\*)"
- Failed comparison: [found] 2 = 1 [given]
- Matched nodes (2):
* 65 StoreI === 47 7 63 25 |32 [[ 75 ]] @int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=5; Memory: @int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *
* 208 StoreI === 74 562 206 187 |32 [[ 634 ]] @int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=5; Memory: @int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *
3) Method "static java.lang.Object[] compiler.c2.TestMergeStores.test5a(byte[],int)" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#C#STORE_B_OF_CLASS#_", "byte\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1", "_#C#STORE_C_OF_CLASS#_", "byte\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1", "_#C#STORE_I_OF_CLASS#_", "byte\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1", "_#C#STORE_L_OF_CLASS#_", "byte\\\\\\\\[int:>=0] \\\\\\\\(java/lang/Cloneable,java/io/Serializable\\\\\\\\)", "1"}, failOn={}, applyIfPlatformOr={}, applyIfPlatform={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"UseUnalignedAccesses", "true"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 1: "(\\d+(\\s){2}(StoreB.*)+(\\s){2}===.*@\\S*byte\\[int:>=0] \\(java/lang/Cloneable,java/io/Serializable\\)(:|\\+)\\S* \\*)"
- Failed comparison: [found] 2 = 1 [given]
- Matched nodes (2):
* 64 StoreB === 47 7 62 25 |32 [[ 73 ]] @byte[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=5; Memory: @byte[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *
* 204 StoreB === 72 559 202 183 |32 [[ 599 ]] @byte[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=5; Memory: @byte[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *
- relates to
-
JDK-8351414 C2: MergeStores must happen after RangeCheck smearing
-
- Resolved
-