[Bug target/77324] [7 regression] ICE in push_reload, at reload.c:1350

amodra at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Aug 29 00:35:00 GMT 2016


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

--- Comment #9 from Alan Modra <amodra at gmail dot com> ---
Eric, I think the condition should be "!strict" rather than
"reload_in_progress".  I'm not certain about that, but I think the patch might
fail if reload needs to iterate over insns more than once.  For example, if the
first pass over insns performed some sparc_legitimize_reload_address
decomposition into lo_sum(high..)) then in the second pass over insns reload
keeps the decomposition (I'm sure about that) but loses the reloads (not so
sure about that, but that's the only thing that makes sense).  So the first few
checks in find_reloads_address must *not* say the address is OK.  You need to
get to legitimize_reload_address again, where "We have to recognize what we
have already generated above" comes into play.


More information about the Gcc-bugs mailing list