[libcxx-commits] [PATCH] D72959: Relative VTables ABI on Fuchsia
Leonard Chan via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Apr 24 11:21:04 PDT 2020
leonardchan marked an inline comment as done.
leonardchan added inline comments.
================
Comment at: clang/lib/CodeGen/CGVTables.cpp:623
+ llvm::Constant *C, llvm::GlobalVariable *VTable, unsigned vtableIdx,
+ unsigned lastAddrPoint) const {
+ // No need to get the offset of a nullptr.
----------------
rjmccall wrote:
> There's already an `addRelativeOffset` on `ConstantArrayBuilder`; is that insufficient for some reason? I think that, if v-table building were refactored so that the places that build components also add them to the v-table, we'd end up with a lot more flexibility for the ABIs. We needed a similar sort of change for pointer authentication, which we haven't upstreamed to LLVM yet, but which you can see here:
>
> https://github.com/apple/llvm-project/blob/apple/master/clang/lib/CodeGen/CGVTables.cpp
>
>
I actually did not know about this method, but it does seem to boil down to the same arithmetic used here. Will update to see if I can use the existing builders instead.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D72959/new/
https://reviews.llvm.org/D72959
More information about the libcxx-commits
mailing list