rx.c (rx_expand_epilogue): Add checks for sibcalls being used incorrectly.
authorNick Clifton <nickc@redhat.com>
Thu, 26 Nov 2009 10:44:28 +0000 (10:44 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Thu, 26 Nov 2009 10:44:28 +0000 (10:44 +0000)
commit0d8f38d33736f6cc7fbd8322e1ec8b67184ce454
tree5e7ee5d5da5e4e095ba98a11720f3e4caa104352
parent5d6b1baca04732559753fbd217aaf40b0463c4a0
rx.c (rx_expand_epilogue): Add checks for sibcalls being used incorrectly.

        * config/rx/rx.c (rx_expand_epilogue): Add checks for sibcalls
        being used incorrectly.
        (rx_function_ok_for_sibcall): New function.  Do not allow indirect
        sibcalls, or sibcalls from interrupt functions.
        (TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
        * config/rx/rx.md (sibcall): Convert to a define_expand.  Check
        for a MEM inside a MEM.
        (sibcall_value): Likewise.
        (sibcall_internal): New pattern containing old sibcall pattern.
        (sibcall_value_internal): Likewise.

From-SVN: r154671
gcc/ChangeLog
gcc/config/rx/rx.c
gcc/config/rx/rx.md