aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorZhaoQi <zhaoqi01@loongson.cn>2025-01-17 17:29:22 +0800
committerGitHub <noreply@github.com>2025-01-17 17:29:22 +0800
commit89e3a649f207021c0884ed5f8e56321c51854ac3 (patch)
tree317361d5a190ad4679aec551f8fac213a5ab2435 /flang/lib/Frontend/CompilerInvocation.cpp
parent73478708839fad8b02b3cfc84959d64a15ba93ca (diff)
downloadllvm-89e3a649f207021c0884ed5f8e56321c51854ac3.zip
llvm-89e3a649f207021c0884ed5f8e56321c51854ac3.tar.gz
llvm-89e3a649f207021c0884ed5f8e56321c51854ac3.tar.bz2
[LoongArch] Emit R_LARCH_RELAX when expanding some macros (#120067)
Emit `R_LARCH_RELAX` relocations when expanding some macros, including: - `la.tls.ie`, `la.tls.ld`, `la.tls.gd`, `la.tls.desc`, - `call36`, `tail36`. Other macros that need to emit `R_LARCH_RELAX` relocations was implemented in https://github.com/llvm/llvm-project/pull/72961, including: - `la.local`, `la.pcrel`, `la.pcrel` expanded as `la.abs`, `la`, `la.global`, `la/la.global` expanded as `la.pcrel`, `la.got`. Note: `la.tls.le` macro can be relaxed when expanded with `R_LARCH_TLS_LE_{HI20/ADD/LO12}_R` relocations. But if we do so, previously handwritten assembly code will occur error due to the redundant `add.{w/d}` followed by `la.tls.le`. So `la.tls.le` keeps to expands with `R_LARCH_TLS_LE_{HI20/LO12}`.
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions