[PATCH v1 0/1] Add relocation optimization
Sivan Shani <[email protected]>
| Newsgroups | gmane.comp.gnu.binutils |
|---|---|
| Message-ID | <[email protected]> |
Main change from first version: the optimizations are now disabled for input relocations and linker generated stubs when '--no-relax' is used. Sivan Shani (1): AArch64: Optimize ADD relocations that resolve to zero bfd/elfnn-aarch64.c | 33 ++++++++++----- bfd/elfxx-aarch64.c | 40 +++++++++++++++---- bfd/elfxx-aarch64.h | 2 +- ld/testsuite/ld-aarch64/aarch64-elf.exp | 6 +++ .../ld-aarch64/add-imm-zero-opt-norelax.d | 22 ++++++++++ .../ld-aarch64/add-imm-zero-opt-tlsdesc.d | 16 ++++++++ .../ld-aarch64/add-imm-zero-opt-tlsdesc.s | 16 ++++++++ .../ld-aarch64/add-imm-zero-opt-tlsgd.d | 15 +++++++ .../ld-aarch64/add-imm-zero-opt-tlsgd.s | 16 ++++++++ .../ld-aarch64/add-imm-zero-opt-tlsld.d | 15 +++++++ .../ld-aarch64/add-imm-zero-opt-tlsld.s | 15 +++++++ ld/testsuite/ld-aarch64/add-imm-zero-opt.d | 22 ++++++++++ ld/testsuite/ld-aarch64/add-imm-zero-opt.ld | 16 ++++++++ ld/testsuite/ld-aarch64/add-imm-zero-opt.s | 34 ++++++++++++++++ ld/testsuite/ld-aarch64/erratum843419.d | 4 +- .../ld-aarch64/erratum843419_tls_ie.d | 2 +- ld/testsuite/ld-aarch64/farcall-b-defsym.d | 2 +- .../ld-aarch64/farcall-b-none-function.d | 2 +- ld/testsuite/ld-aarch64/farcall-b-section.d | 2 +- ld/testsuite/ld-aarch64/farcall-b.d | 2 +- ld/testsuite/ld-aarch64/farcall-back-be.d | 2 +- ld/testsuite/ld-aarch64/farcall-back.d | 2 +- ld/testsuite/ld-aarch64/farcall-bl-defsym.d | 2 +- .../ld-aarch64/farcall-bl-none-function.d | 2 +- ld/testsuite/ld-aarch64/farcall-bl-section.d | 2 +- ld/testsuite/ld-aarch64/farcall-bl.d | 2 +- .../non-contiguous-mem/non-contiguous-ok-2.d | 2 +- .../non-contiguous-mem/non-contiguous-ok-4.d | 2 +- .../non-contiguous-mem/non-contiguous-ok-5.d | 2 +- .../ld-aarch64/tls-relax-ld-le-small-ilp32.d | 4 +- .../ld-aarch64/tls-relax-ld-le-small.d | 4 +- .../ld-aarch64/tls-relax-ld-le-tiny-ilp32.d | 4 +- .../ld-aarch64/tls-relax-ld-le-tiny.d | 4 +- .../ld-aarch64/tls-tiny-gd-le-ilp32.d | 2 +- ld/testsuite/ld-aarch64/tls-tiny-gd-le.d | 2 +- ld/testsuite/ld-aarch64/tlsle-add-hi12-opt.d | 14 +++++++ ld/testsuite/ld-aarch64/tlsle-add-hi12-opt.s | 13 ++++++ ld/testsuite/ld-aarch64/weak-undefined.d | 2 +- 38 files changed, 303 insertions(+), 46 deletions(-) create mode 100644 ld/testsuite/ld-aarch64/add-imm-zero-opt-norelax.d create mode 100644 ld/testsuite/ld-aarch64/add-imm-zero-opt-tlsdesc.d create mode 100644 ld/testsuite/ld-aarch64/add-imm-zero-opt-tlsdesc.s create mode 100644 ld/testsuite/ld-aarch64/add-imm-zero-opt-tlsgd.d create mode 100644 ld/testsuite/ld-aarch64/add-imm-zero-opt-tlsgd.s create mode 100644 ld/testsuite/ld-aarch64/add-imm-zero-opt-tlsld.d create mode 100644 ld/testsuite/ld-aarch64/add-imm-zero-opt-tlsld.s create mode 100644 ld/testsuite/ld-aarch64/add-imm-zero-opt.d create mode 100644 ld/testsuite/ld-aarch64/add-imm-zero-opt.ld create mode 100644 ld/testsuite/ld-aarch64/add-imm-zero-opt.s create mode 100644 ld/testsuite/ld-aarch64/tlsle-add-hi12-opt.d create mode 100644 ld/testsuite/ld-aarch64/tlsle-add-hi12-opt.s -- 2.43.0