TestReplaceNarrowPhiWithBottomPhi fails on ppc64 platforms in (fast)debug

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: P4
    • None
    • Affects Version/s: 27
    • Component/s: hotspot
    • None
    • ppc
    • generic

      TestReplaceNarrowPhiWithBottomPhi fails on ppc64 platforms when running fastdebug binaries.
      Example output is from AIX, but the test fails too on Linuxppc64le .

      One or more @IR rules failed:

      Failed IR Rules (1) of Methods (1)
      ----------------------------------
      1) Method "public void compiler.c2.TestReplaceNarrowPhiWithBottomPhi.test1()" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#PHI#_", "2"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
           > Phase "PrintIdeal":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\\d+(\\s){2}(Phi.*)+(\\s){2}===.*)"
                 - Failed comparison: [found] 3 = 2 [given]
                   - Matched nodes (3):
                     * 211 Phi === 243 26 223 [[ 223 ]] #int !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:27 (line 56)
                     * 239 Phi === 243 7 218 [[ 212 ]] #memory Memory: @ptr:BotPTR+bot, idx=Bot; !orig=[209] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:27 (line 56)
                     * 241 Phi === 243 7 220 [[ 212 ]] #memory Memory: @instptr:compiler/c2/TestReplaceNarrowPhiWithBottomPhi:BotPTR+16,iid=bot, name=field2, idx=5; !orig=239,[209] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:27 (line 56)

      >>> Check stdout for compilation output of the failed methods


        #############################################################
         - To only run the failed tests use -DTest, -DExclude,
           and/or -DScenarios.
         - To also get the standard output of the test VM run with
           -DReportStdout=true or for even more fine-grained logging
           use -DVerbose=true.
        #############################################################


      compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
      at compiler.lib.ir_framework.driver.irmatching.IRMatcher.reportFailures(IRMatcher.java:61)
      at compiler.lib.ir_framework.driver.irmatching.IRMatcher.match(IRMatcher.java:49)
      at compiler.lib.ir_framework.TestFramework.runTestVM(TestFramework.java:887)
      at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:839)
      at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:431)
      at compiler.lib.ir_framework.TestFramework.run(TestFramework.java:235)
      at compiler.lib.ir_framework.TestFramework.run(TestFramework.java:224)
      at compiler.c2.TestReplaceNarrowPhiWithBottomPhi.main(TestReplaceNarrowPhiWithBottomPhi.java:41)
      at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
      at java.base/java.lang.reflect.Method.invoke(Method.java:565)
      at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:335)
      at java.base/java.lang.Thread.run(Thread.java:1516)


      Stdout shows :
      Compilation of Failed Method
      ----------------------------
      1) Compilation of "public void compiler.c2.TestReplaceNarrowPhiWithBottomPhi.test1()":
      > Phase "PrintIdeal":
      AFTER: print_ideal
         0 Root === 0 238 [[ 0 1 3 128 144 214 26 36 47 58 69 80 100 101 263 ]]
         1 Con === 0 [[ ]] #top
         3 Start === 3 0 [[ 3 5 6 7 8 9 10 ]] #{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address, 5:instptr:compiler/c2/TestReplaceNarrowPhiWithBottomPhi:NotNull+0,iid=bot}
         5 Parm === 3 [[ 243 ]] Control !orig=[42] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:-1 (line 48)
         6 Parm === 3 [[ 238 ]] I_O !orig=[88] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:-1 (line 48)
         7 Parm === 3 [[ 241 239 ]] Memory Memory: @ptr:BotPTR+bot, idx=Bot; !orig=[89] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:-1 (line 48)
         8 Parm === 3 [[ 238 ]] FramePtr !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:-1 (line 48)
         9 Parm === 3 [[ 238 ]] ReturnAdr !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:-1 (line 48)
        10 Parm === 3 [[ 224 215 215 ]] Parm0: instptr:compiler/c2/TestReplaceNarrowPhiWithBottomPhi:NotNull+0,iid=bot Oop:instptr:compiler/c2/TestReplaceNarrowPhiWithBottomPhi:NotNull+0,iid=bot !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:-1 (line 48)
        16 MergeMem === _ 1 218 1 1 220 [[ 238 ]] { - - N220:instptr:compiler/c2/TestReplaceNarrowPhiWithBottomPhi:BotPTR+16,iid=bot } Memory: @ptr:BotPTR+bot, idx=Bot;
        26 ConI === 0 [[ 223 211 ]] #int:1
        36 ConI === 0 [[ ]] #int:-218
        47 ConI === 0 [[ ]] #int:-146
        58 ConI === 0 [[ ]] #int:-66
        69 ConI === 0 [[ ]] #int:-74
        80 ConI === 0 [[ ]] #int:-154
       100 ThreadLocal === 0 [[ 102 ]] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:11 (line 48)
       101 ConL === 0 [[ 102 ]] #long:48
       102 AddP === _ 1 100 101 [[ 228 ]] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:11 (line 48)
       128 ConI === 0 [[ 220 ]] #int:42
       144 ConI === 0 [[ 229 ]] #int:100
       211 Phi === 243 26 223 [[ 223 ]] #int !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:27 (line 56)
       212 MergeMem === _ 1 239 1 1 241 [[ 216 ]] { - - N241:instptr:compiler/c2/TestReplaceNarrowPhiWithBottomPhi:BotPTR+16,iid=bot } Memory: @ptr:BotPTR+bot, idx=Bot; !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:27 (line 56)
       214 ConL === 0 [[ 215 ]] #long:16
       215 AddP === _ 10 10 214 [[ 220 ]] Oop:instptr:compiler/c2/TestReplaceNarrowPhiWithBottomPhi:NotNull+16,iid=bot !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:30 (line 56)
       216 MemBarRelease === 243 1 212 1 1 [[ 217 218 ]] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:30 (line 56)
       217 Proj === 216 [[ 228 220 224 ]] #0 !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:30 (line 56)
       218 Proj === 216 [[ 16 220 225 228 239 ]] #2 Memory: @ptr:BotPTR+bot, idx=Bot; !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:30 (line 56)
       220 StoreI === 217 218 215 128 [[ 16 225 241 ]] @instptr:compiler/c2/TestReplaceNarrowPhiWithBottomPhi:BotPTR+16,iid=bot, name=field2, idx=5; Volatile! Memory: @instptr:compiler/c2/TestReplaceNarrowPhiWithBottomPhi:NotNull+16,iid=bot, name=field2, idx=5; !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:30 (line 56)
       223 LShiftI === _ 211 26 [[ 229 224 211 ]] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:35 (line 55)
       224 SafePoint === 217 1 225 1 1 228 10 1 223 [[ 231 ]] SafePoint !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:37 (line 55)
       225 MergeMem === _ 1 218 1 1 220 [[ 224 ]] { - - N220:instptr:compiler/c2/TestReplaceNarrowPhiWithBottomPhi:BotPTR+16,iid=bot } Memory: @ptr:BotPTR+bot, idx=Bot; !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:37 (line 55)
       228 LoadP === 217 218 102 [[ 224 ]] @rawptr:BotPTR, idx=Raw; #rawptr:BotPTR (does not depend only on test, raw access) !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:37 (line 55)
       229 CmpI === _ 223 144 [[ 230 ]] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:24 (line 55)
       230 Bool === _ 229 [[ 231 ]] [lt] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:24 (line 55)
       231 If === 224 230 [[ 232 233 ]] P=0.874986, C=7587.000000 !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:24 (line 55)
       232 IfTrue === 231 [[ 243 ]] #1 !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:24 (line 55)
       233 IfFalse === 231 [[ 238 ]] #0 !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:24 (line 55)
       238 Return === 233 6 16 8 9 [[ 0 ]]
       239 Phi === 243 7 218 [[ 212 ]] #memory Memory: @ptr:BotPTR+bot, idx=Bot; !orig=[209] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:27 (line 56)
       241 Phi === 243 7 220 [[ 212 ]] #memory Memory: @instptr:compiler/c2/TestReplaceNarrowPhiWithBottomPhi:BotPTR+16,iid=bot, name=field2, idx=5; !orig=239,[209] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:27 (line 56)
       243 Loop === 243 5 232 [[ 243 211 216 241 239 ]] inner !orig=[207] !jvms: TestReplaceNarrowPhiWithBottomPhi::test1 @ bci:27 (line 56)
       263 ConI === 0 [[ ]] #int:0

            Assignee:
            Unassigned
            Reporter:
            Matthias Baesken
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: