https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119174
--- Comment #11 from Jeffrey A. Law <law at gcc dot gnu.org> --- Andrew. You're missing the point. This scenario isn't the kind of thing that reload and LRA are supposed to fix. They fix constraint problems. ie, I got the wrong kind of register (wrong register file), or I can't really handlea constant, so reload the value into a register, etc. We have a pseudo live across a call and IRA allocates that pseudo to a call clobbered hard register. That's an IRA bug in my book.