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

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • DRLVM
    • None
    • 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

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

              Dates

                Created:
                Updated: