[Bug target/80938] [7/8 Regression] ICE in maybe_record_trace_start, at dwarf2cfi.c:2330
segher at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Aug 9 21:09:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80938
--- Comment #4 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Author: segher
Date: Wed Aug 9 21:08:33 2017
New Revision: 251005
URL: https://gcc.gnu.org/viewcvs?rev=251005&root=gcc&view=rev
Log:
rs6000: Use SAVE_MULTIPLE only if we restore what it saves (PR80938)
We can have SAVE_MULTIPLE while we do not have REST_MULTIPLE. If the
inline restore does not restore all registers, the CFI for the save
and restore can conflict if things are shrink-wrapped.
We could restore all registers that are saved (not ideal), or emit
the CFI notes to say we did (which will work fine, but is also not
so great); instead, let's not save the registers that are unused.
PR target/80938
* config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use
SAVE_MULTIPLE if not all the registers that saves, should be saved.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c
More information about the Gcc-bugs
mailing list