[Bug rtl-optimization/67226] Incorrect code generated for tail call, where parameters are structs passed by value, -O2 is used, and target is ARM

ktkachov at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Nov 26 11:40:00 GMT 2015


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

--- Comment #9 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Thu Nov 26 11:40:16 2015
New Revision: 230937

URL: https://gcc.gnu.org/viewcvs?rev=230937&root=gcc&view=rev
Log:
[calls.c] PR rtl-optimization/67226: Take into account pretend_args_size when
checking stack offsets for sibcall optimisation

        Backport from mainline
        2015-11-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
                    Bernd Schmidt  <bschmidt@redhat.com>

        PR rtl-optimization/67226
        * calls.c (store_one_arg): Take into account
        crtl->args.pretend_args_size when checking for overlap between
        arg->value and argblock + arg->locate.offset during sibcall
        optimization.

        * gcc.c-torture/execute/pr67226.c: New test.


Added:
    branches/gcc-4_9-branch/gcc/testsuite/gcc.c-torture/execute/pr67226.c
Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/calls.c
    branches/gcc-4_9-branch/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list