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

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Missed passthru jump        |[10/11/12/13 regression]
                   |function                    |Missed passthru jump
                   |                            |function

--- Comment #1 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Looking at the compiler explorer, the both testcases actually works up to gcc
9.5:

reta(a) [clone .constprop.0]:
        xorl    %eax, %eax
        ret
retba(b) [clone .isra.0] [clone .constprop.0]:
        jmp     reta(a) [clone .constprop.0]
main:
        xorl    %edi, %edi
        jmp     retba(b) [clone .isra.0] [clone .constprop.0]

Clang optimizes main to return 0 which we don't due to lack of return
functions.
Also ISRA may trigger on reta+retb and break out the integer rather than
substructure but doesn't.

Reply via email to