epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine...
authorJoern Rennecke <joern.rennecke@embecosm.com>
Tue, 7 Feb 2012 02:28:06 +0000 (02:28 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Tue, 7 Feb 2012 02:28:06 +0000 (02:28 +0000)
commit6009801342e283463cc15fe9aa514d162df7c430
treee276fcf92c6b5974ac19a30c894e2084e1bb3684
parent300f7e1640e8749ed9d0c9ca12bc5f9537b8237a
epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine...

        * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine,
        adding __forwarder_dst__ prefix if a forwarder_section attribute is
        present.
        (epiphany_function_type): Replace types for specific interrupts with
        EPIPHANY_FUNCTION_INTERRUPT.
        (EPIPHANY_INTERRUPT_P): Update.
        * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute):
        New static function.
        (epiphany_attribute_table) <interrupt>: min_len is 0, max_len is 9.
        <disinterrupt>: Affects type identity.
        (epiphany_handle_interrupt_attribute): Handle variable number of
        arguments.
        (epiphany_compute_function_type): Update for new
        epiphany_function_type definition.
        (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt
        handlers with a longcall forwarder.
        (epiphany_start_function): Handle multiple interrupt arguments and/or
        forwarder_section attribute.

From-SVN: r183953
gcc/ChangeLog
gcc/config/epiphany/epiphany.c
gcc/config/epiphany/epiphany.h