https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96017
--- Comment #9 from Peter Bergner <bergner at gcc dot gnu.org> --- (In reply to Peter Bergner from comment #8) > At first, I thought that split_live_ranges_for_shrink_wrap() split this > nicely, but what I found is that IRA assigned a volatile register to a > pseudo that is live across a call. ...and that is because somehow flag_caller_saves is true. I can't believe that is a good idea in general.