[PATCH] D149524: [JITLink] Allow edges without a target
Lang Hames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Apr 29 19:27:15 PDT 2023
lhames added a comment.
Hi Job,
I believe we can handle `R_RISCV_RELAX` and `R_RISCV_ALIGN` without changing `Edge` -- it would be great to keep "Edges always have targets" as a simple invariants if we can.
For `R_RISCV_RELAX` we should add relaxable edge kinds to the RISCV edge kinds enum (along the same lines as the x86-64 relaxable edges, and we should take this opportunity to rename the RISCV edges to bring them in line with the other architectures). When the ELF/RISCV LinkGraphBuilder sees an `R_RISCV_RELAX` relocation it should choose the relaxable variant for the corresponding edge.
For `R_RISCV_ALIGN` I think we can reasonably just point the Edge at a null absolute symbol.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D149524/new/
https://reviews.llvm.org/D149524
More information about the llvm-commits
mailing list