aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2025-05-19 18:27:55 -0700
committerGitHub <noreply@github.com>2025-05-19 18:27:55 -0700
commitae46353f5f47695ef448f558df5e5cdd48159266 (patch)
treed0450dfc3f27416bc78306504ceebc4617874805 /llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
parent07e2ba445df7d277e5195c0ec85b133735ea76e3 (diff)
downloadllvm-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