[PATCH] D61524: [BPF] Support for compile once and run everywhere

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 4 16:05:14 PDT 2021


aeubanks added a comment.

The opaque pointers project (https://llvm.org/docs/OpaquePointers.html) is trying to remove pointee types from pointer types. For example, the GEP instruction doesn't look at the base pointer's type, but rather the type is separately encoded into the instruction (https://llvm.org/docs/LangRef.html#getelementptr-instruction).
In terms of code changes, this means that all calls to `Type::getPointerElementType()` won't work. BPFAbstractMemberAccess.cpp uses that to see what type to operate on for these added intrinsics. Basically it's emulating the old GEP instruction which did indeed look at the base pointer's pointee type. But that won't work at some point.

As for overloaded intrinsic types, see https://llvm.org/docs/LangRef.html#intrinsic-functions.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D61524/new/

https://reviews.llvm.org/D61524



More information about the llvm-commits mailing list