This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/8] xtensa trampolines rework in gas


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]