https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113662
--- Comment #34 from Richard Biener <rguenth at gcc dot gnu.org> --- There's only minor "optimistic" code left in find_base_value/term, though we have a complex MEM here: (insn 61 60 0 (set (mem:SI (plus:DI (plus:DI (reg:DI 137 [ _78 ]) (reg:DI 126 [ _84 ])) (const_int 4 [0x4])) [3 MEM[(int *)_78 + 4B + _84 * 1]+0 S4 A32]) (reg:SI 101 [ _6 ])) "t.ii":35:17 discrim 2 -1 (nil)) plus there's the machine specific FIND_BASE_TERM (but usually only used for PIC stuff). Without further analysis I doubt it really is related to that old RTL issue (on trunk, that is). Do we know with RTL pass breaks it?