https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110308
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |law at gcc dot gnu.org
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
First change with that commit already appears in the reload pass:
(insn 12 6 8 2 (set (reg:DI 5 di [84])
- (plus:DI (reg/f:DI 7 sp)
+ (plus:DI (reg/f:DI 7 sp [orig:103 state+8 ] [103])
(const_int 8 [0x8]))) "pr110308.C":11:22 249 {*leadi}
(nil))
and many further changes of this kind appear later in cprop_hardreg.
The vartrack ICE is because regno_reg_rtx[103] is NULL and so PSEUDO_REGNO_MODE
(103) ICEs.
For debug info, propagation of the sp with the extra debug info related stuff
(ORIGINAL_REGNO and REG_ATTRS) is I think very harmful, but I admit I haven't
tried to understand why that change has been done.