https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126815
--- Comment #8 from Drea Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Macleod from comment #7) > (In reply to Drea Pinski from comment #4) > > (In reply to Andrew Macleod from comment #3) > > > yes, either leave the call, or I also have a patch in the queue which puts > > > the _9 = 0 before the call instead of after. This should be safe as > > > there > > > are known to be no other uses of _9 > > > > Before wont work for calls that returns-twice. So it is best not to change > > it. Plus it saves slight memory and time . > > eh? why wouldn't that work? There are zero uses of _9, so it doesn't matter > if its the return value or not. > > Regardless, your patch is fine. Because returns_twice functions are required by the verifier to be the first stmt of a basic block. So if you sre removing the lhs of a returns twice functions inserting before the call will also ice. I didnt come up with a testcase but I can add one if needed.
