This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH 0/8] xtensa trampolines rework in gas
- From: Max Filippov <jcmvbkbc at gmail dot com>
- To: binutils at sourceware dot org
- Cc: Sterling Augustine <augustine dot sterling at gmail dot com>, linux-xtensa at linux-xtensa dot org, Max Filippov <jcmvbkbc at gmail dot com>
- Date: Mon, 27 Nov 2017 11:39:26 -0800
- Subject: [PATCH 0/8] xtensa trampolines rework in gas
- Authentication-results: sourceware.org; auth=none
Hello,
this series cleans up and speeds up trampolines implementation in xtensa
assembler and adds trampoline coalescing feature. Trampolines are jumps
inserted by the assembler at relaxation time to extend range of jumps and
branches. Current implementation has a couple of places that may get very
slow on certain input files. It also creates redundant trampolines for
jumps targeting the same location, trampoline coalescing fixes this
redundancy.
Max Filippov (8):
gas: extract xg_relax_trampoline from xtensa_relax_frag
gas: xtensa: extract jump assembling for trampolines
gas: xtensa: reuse find_trampoline_seg
gas: xtensa: merge trampoline_frag into xtensa_frag_type
gas: xtensa: rewrite xg_relax_trampoline
gas: xtensa: reuse trampoline placement code
gas: xtensa: implement trampoline coalescing
gas: xtensa: speed up find_trampoline_seg
gas/config/tc-xtensa.c | 984 +++++++++++++++++---------------
gas/config/tc-xtensa.h | 7 +
gas/testsuite/gas/xtensa/all.exp | 1 +
gas/testsuite/gas/xtensa/trampoline-2.l | 1 +
gas/testsuite/gas/xtensa/trampoline-2.s | 20 +
gas/testsuite/gas/xtensa/trampoline.d | 35 +-
gas/testsuite/gas/xtensa/trampoline.s | 2 +
7 files changed, 582 insertions(+), 468 deletions(-)
create mode 100644 gas/testsuite/gas/xtensa/trampoline-2.l
create mode 100644 gas/testsuite/gas/xtensa/trampoline-2.s
--
2.1.4