Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-6023

[drlvm][jit] Illegal CDQ deletion in int64 lowerer

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: DRLVM
    • Labels:
      None
    • Environment:
      IA32 Windows

      Description

      This bug happens in java.math.Division.divide() if early_prop bypassed. Following are the details:

      before i8l pass
      I170: (AD:t229:int64) =I8PseudoInst/MOVSX (AU:t228:I_32)
      I171: (AD:v5:int64) =I8PseudoInst/MOV (AU:t229:int64)

      after i8l pass
      I783: o1017:U_32 =MOV t228:I_32
      I785: (AD:o960:U_32) =CopyPseudoInst/MOV (AU:o1017:U_32)
      I786: (AD:o961:I_32) =CopyPseudoInst/MOV (AU:o1018:I_32)

      o1018 is not defined, which will cause an assertion error in webmaker pass.

      (It looks there is nothing between early_prop and this bug. But with early_prop, I786 is deleted by the second cg_dce before webmaker. I don't know why I786 is not deleted if early_prop bypassed. With some investigation, I think there might be something wrong with liveness calculation during cg_dce. I'll do more when this bug is fixed.)

        Attachments

        1. H6023-V1.patch
          4 kB
          Xiaoming Gu

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                xiaoming Xiaoming Gu
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: