[all-commits] [llvm/llvm-project] 78f39d: [JITLink][RISCV] Use hashmap to find PCREL_HI20 ed...
Jonas Hahnfeld via All-commits
all-commits at lists.llvm.org
Mon Feb 12 10:46:04 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 78f39dc70c1feaea5130b90ea3fb7b3ddd62446b
https://github.com/llvm/llvm-project/commit/78f39dc70c1feaea5130b90ea3fb7b3ddd62446b
Author: Jonas Hahnfeld <hahnjo at hahnjo.de>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
Log Message:
-----------
[JITLink][RISCV] Use hashmap to find PCREL_HI20 edge (#78849)
As noted in issues #68594 and #73935, `JITLink/RISCV/ELF_ehframe.s`
fails with libstdc++'s expensive checks because `getRISCVPCRelHi20`
calls `std::equal_range` on the edges which may not be ordered by their
offset. Instead let `ELFJITLinker_riscv` build a hashmap of all edges
with type `R_RISCV_PCREL_HI20` that can be looked up in constant time.
Closes #73935
More information about the All-commits
mailing list