[all-commits] [llvm/llvm-project] c61869: [AArch64][X86] Allow 64-bit label differences lowe...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Mon Jun 21 14:32:42 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c618692218d16e88fa20df56b29a8dd09c9e9db7
https://github.com/llvm/llvm-project/commit/c618692218d16e88fa20df56b29a8dd09c9e9db7
Author: Fangrui Song <i at maskray.me>
Date: 2021-06-21 (Mon, 21 Jun 2021)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
M llvm/test/MC/AArch64/coff-relocations.s
M llvm/test/MC/COFF/cross-section-relative-err.s
M llvm/test/MC/COFF/cross-section-relative.s
Log Message:
-----------
[AArch64][X86] Allow 64-bit label differences lower to IMAGE_REL_*_REL32
`IMAGE_REL_ARM64_REL64/IMAGE_REL_AMD64_REL64` do not exist and `.quad a - .` is
currently not representable.
For instrumentation, `.quad a - .` is useful representing a cross-section
reference in a metadata section, to allow ELF medium/large code models. The COFF
limitation makes such generic instrumentations inconvenient. I plan to make a
PGO/coverage metadata section field relative in D104556.
Differential Revision: https://reviews.llvm.org/D104564
More information about the All-commits
mailing list