llvm-project/lld/test
Fangrui Song 75e551e5d8 [ELF] Relax R_RISCV_CALL and R_RISCV_CALL_PLT
A pair of auipc+jalr relocated by R_RISCV_CALL or R_RISCV_CALL_PLT can be
converted to c.j, c.jal, or jal.

* c.j: RVC and displacement is representable as an int12
* c.jal: RV32C and displacement is representable as an int12
* jal: displacement is representable as an int21

Use the D127581 relaxation framework to implement the relaxation. If a shorter
sequence is satisfied, we record the new relocation type in `relocTypes` and
saves the new instruction into `writes`. Finally let `riscvFinalizeRelax` rewrite the
instruction by setting `skip`.

Differential Revision: https://reviews.llvm.org/D127611
2022-07-07 10:18:45 -07:00
..
COFF [LLD][COFF] Convert file name to lowercase when inserting it into visitedLibs 2022-06-15 09:39:35 -07:00
ELF [ELF] Relax R_RISCV_CALL and R_RISCV_CALL_PLT 2022-07-07 10:18:45 -07:00
MachO lld test fix: don't check the precise hex emitted as a comment. 2022-07-07 13:25:24 +01:00
MinGW [LLD] [MinGW] Implement --disable-reloc-section, mapped to /fixed 2022-06-15 16:51:20 +03:00
wasm [lld][WebAssembly] Don't apply data relocations at static constructor time 2022-06-27 15:50:02 -07:00
CMakeLists.txt [BUILD] Add missed CMakeLists.txt change from dfb77f2 2022-07-05 16:04:58 +01:00
lit.cfg.py [LLD][ELF] Add FORCE_LLD_DIAGNOSTICS_CRASH to force LLD to crash 2022-07-05 09:43:09 +01:00
lit.site.cfg.py.in [LLD][ELF] Add FORCE_LLD_DIAGNOSTICS_CRASH to force LLD to crash 2022-07-05 09:43:09 +01:00