https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69648

--- Comment #2 from Zdenek Sojka <zsojka at seznam dot cz> ---
If I understand the .reload dump correctly, r87 is not live in insn 289, but it
should be:

...
  289: r416:SI=r87:SI+const(unspec[`*.LC9'] 1)
      REG_EQUAL `*.LC9'

      Creating newreg=417 from oldreg=87, assigning class GENERAL_REGS to
address r417
           Change to class INDEX_REGS for r417
            0 Non pseudo reload: reject++
          alt=0,overall=1,losers=0,rld_nregs=0
         Choosing alt 0 in insn 289:  (0) =r  (1) Ts {*leasi}
  289: r416:SI=r417:SI+const(unspec[`*.LC9'] 1)
...
   Insn 289: point = 104
...
  r87 is added to live at bb2 start
...
 r87: [107..246]

But maybe I misunderstand the dump - why is r87's live range 107..246, when it
is live at bb start?

Reply via email to