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

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:c95f5a0c0719ad5b23f605b4d8f8dd3689a0066b

commit r15-9002-gc95f5a0c0719ad5b23f605b4d8f8dd3689a0066b
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Fri Mar 28 10:48:31 2025 +0100

    ipa-sra: Don't change return type to void if there are musttail calls
[PR119484]

    The following testcase is rejected, because IPA-SRA decides to
    turn bar.constprop call into bar.constprop.isra which returns void.
    While there is no explicit lhs on the call, as it is a musttail call
    the tailc pass checks if IPA-VRP returns singleton from that function
    and the function returns the same value and in that case it still turns
    it into a tail call.  This can't work with IPA-SRA changing it into
    void returning function though.

    The following patch fixes this by forcing returning the original type
    if there are musttail calls.

    2025-03-28  Jakub Jelinek  <ja...@redhat.com>

            PR ipa/119484
            * ipa-sra.cc (isra_analyze_call): Don't set m_return_ignored if
            gimple_call_must_tail_p even if it doesn't have lhs.

            * c-c++-common/pr119484.c: New test.

Reply via email to