* mn10300.h (RETURN_ADDR_RTX): Define.
commit6e90c6cd74a8038febfe9300ea15ca74d4266a62
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 8 Apr 1997 18:41:49 +0000 (8 18:41 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 8 Apr 1997 18:41:49 +0000 (8 18:41 +0000)
tree198d4057d7fd056023eb939e423b4fc19553dfba
parentbddbfd0bdcf0de86bcf4eea3f984a9355264305d
    * mn10300.h (RETURN_ADDR_RTX): Define.

        * mn10300.c (count_tst_insns): New function.
        (expand_prologue): Load zero into data and/or address registers
        if any are free and the function has optimizable tst insns.
        (output_tst): If a suitable register is known to have the
        value zero, use it instead of searching for a suitable register.
        * mn10300.h (zero_dreg, zero_areg): Declare.
        (FRAME_POINTER_NEEDED): Frame pointers are not needed if the
        outgoing argument size is zero.
        * mn10300.md (movXX): Optimize loading zero i        register if possible.  Optimize loading a DF/DI mode value
        into an address register from a constant memory address.
        (addsi3): Provide alternative which doesn't require a matching
        inout operand.
        (return): Optimize consecutive return instructions.

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