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

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Martin Jambor <jamb...@gcc.gnu.org>:

https://gcc.gnu.org/g:29d8f1f0b7ad3c69b3bdb130325300d5f73aa784

commit r15-4564-g29d8f1f0b7ad3c69b3bdb130325300d5f73aa784
Author: Martin Jambor <mjam...@suse.cz>
Date:   Wed Oct 23 11:30:32 2024 +0200

    tree-sra: Avoid SRAing arguments to a function returning_twice (PR 117142)

    PR 117142 shows that the current SRA probably never worked reliably
    with arguments passed to a function returning twice, because it then
    creates statements before the call which however needs to be at the
    beginning of a basic block.

    While it should be possible to make at least the case of passing
    arguments by value work with SRA (the statements would need to be put
    just on the non-abnormal edges leading to the BB), this would mean
    large surgery of function sra_modify_expr and I guess the time would
    better be spent re-organizing the whole pass.

    gcc/ChangeLog:

    2024-10-21  Martin Jambor  <mjam...@suse.cz>

            PR tree-optimization/117142
            * tree-sra.cc (build_access_from_call_arg): Disqualify any
            candidate passed to a function returning twice.

    gcc/testsuite/ChangeLog:

    2024-10-21  Martin Jambor  <mjam...@suse.cz>

            PR tree-optimization/117142
            * gcc.dg/tree-ssa/pr117142.c: New test.
  • [Bug tree-optimization/117142] ... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to