diff options
author | Fangrui Song <i@maskray.me> | 2025-05-19 18:27:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-19 18:27:55 -0700 |
commit | ae46353f5f47695ef448f558df5e5cdd48159266 (patch) | |
tree | d0450dfc3f27416bc78306504ceebc4617874805 /llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp | |
parent | 07e2ba445df7d277e5195c0ec85b133735ea76e3 (diff) | |
download | llvm-ae46353f5f47695ef448f558df5e5cdd48159266.zip llvm-ae46353f5f47695ef448f558df5e5cdd48159266.tar.gz llvm-ae46353f5f47695ef448f558df5e5cdd48159266.tar.bz2 |
RISCV,LoongArch: Encode RELAX relocation implicitly
When linker relaxation is enabled, relaxable relocations are followed by
a R_RISCV_RELAX/R_LARCH_RELAX relocation. They are encoded as two fixups by
CodeEmitter and expected to have the same `IsResolved` value within
MCAssembler::evaluateFixup (they must lead to either 0 or 2
relocations). This scheme wasite space and requires RISCVAsmBackend::shouldForceRelocation
to be conservative.
This patch introduces MCFixup::NeedsRelax to encode the RELAX relocation implicitly.
The fixup will lead to either 0 or 2 relocations.
Pull Request: https://github.com/llvm/llvm-project/pull/140494
Diffstat (limited to 'llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions