[ARC] Revamp trampoline implementation
commitf03b63ff8dd157de68103ebcf157a3e05be6d065
authorclaziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Jan 2018 10:49:14 +0000 (8 10:49 +0000)
committerclaziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Jan 2018 10:49:14 +0000 (8 10:49 +0000)
tree4379d660fd8b17e35ae83b38b95f381f1aa7d177
parent9859e9a71dac94c9d7e52e3c025763db0462643f
[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.

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