* config/rx/rx.c (rx_expand_epilogue): Add checks for sibcalls
commit61fc50a07759f99ac434faa0dc0ed118770ae185
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Nov 2009 10:44:28 +0000 (26 10:44 +0000)
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Nov 2009 10:44:28 +0000 (26 10:44 +0000)
tree5e7ee5d5da5e4e095ba98a11720f3e4caa104352
parent0dd13e3460e9ba0e47a1904937af2e35655506c1
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154671 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rx/rx.c
gcc/config/rx/rx.md