https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119314

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Possibly wrong code         |Possibly wrong code
                   |generation for branch after |generation for branch after
                   |tail function call          |leaf function call

--- Comment #12 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note the standard term is not tail function but rather leaf function. That is
part of the reason why I was confused before hand.

One thing you should look at is the generated code for LUT_GoThroughCache 
since that seems like it might be the cause rather than inside
IsPlayerHandleValid/GetPlayerName. 

What happens if you add attribute noipa on LUT_GoThroughCache  ? Does that
help?

what about zero_call_used_regs("all") attribute on the definition of
LUT_GoThroughCache? Does that help?

I am suspecting LUT_GoThroughCache is corrupting registers that it should not
be.

Reply via email to