This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]