]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/rs6000/rs6000.c
rs6000.c (rs6000_stack_info): Allocate space for eh_return data registers.
authorRichard Henderson <rth@redhat.com>
Wed, 28 Mar 2001 11:19:20 +0000 (03:19 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 28 Mar 2001 11:19:20 +0000 (03:19 -0800)
commit83720594cedb0b10abc4c0e28b8ec71e8a5f999d
treec0090fc2e8668cc9dfcbe6558c32adf6588d3142
parent1020a5ab7ee1a39c3d2be3d3bdb4242985d75812
rs6000.c (rs6000_stack_info): Allocate space for eh_return data registers.

        * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
        for eh_return data registers.
        (rs6000_emit_prologue): Save eh_return data registers.
        (rs6000_emit_epilogue): Force inline restores if eh_return.
        Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
        * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
        (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
        (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
        the target uses one.
        * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
        (return_eh_si, return_eh_di): Remove.
        (eh_return): New, from corpse of eh_epilogue.
        (eh_set_lr_si, eh_set_lr_di): New.

From-SVN: r40927
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/rs6000.md