[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