[ARC] Revamp trampoline implementation
authorClaudiu Zissulescu <claziss@synopsys.com>
Mon, 8 Jan 2018 10:49:14 +0000 (11:49 +0100)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Mon, 8 Jan 2018 10:49:14 +0000 (11:49 +0100)
commitefcc2e303fe5f0daff889c66dff59cfefe3859a1
tree4379d660fd8b17e35ae83b38b95f381f1aa7d177
parent85e5629fd5aeefb3e3dac4bcfa51b1206d17354a
[ARC] Revamp trampoline implementation

The new implementation attempts to clean up the existing trampoline
implementation for ARC making it to work for linux type of systems.

gcc/
2018-01-08  Claudiu Zissulescu  <claziss@synopsys.com>

        * config/arc/arc.c (TARGET_TRAMPOLINE_ADJUST_ADDRESS): Delete.
        (emit_store_direct): Likewise.
        (arc_trampoline_adjust_address): Likewise.
        (arc_asm_trampoline_template): New function.
        (arc_initialize_trampoline): Use asm_trampoline_template.
        (TARGET_ASM_TRAMPOLINE_TEMPLATE): Define.
        * config/arc/arc.h (TRAMPOLINE_SIZE): Adjust to 16.
        *config/arc/arc.md (flush_icache): Delete pattern.

From-SVN: r256334
gcc/ChangeLog
gcc/config/arc/arc.c
gcc/config/arc/arc.h
gcc/config/arc/arc.md