[PATCH] D67980: [WIP][CLANG][BPF] do compile-once run-everywhere relocation for bitfields

Alexei Starovoitov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Oct 5 18:48:53 PDT 2019


ast added inline comments.


================
Comment at: llvm/lib/Target/BPF/BPFCORE.h:17
+  enum OffsetRelocKind : uint32_t {
+    FIELD_ACCESS_OFFSET = 0,
+    FIELD_EXISTENCE,
----------------
why ACCESS_OFFSET is necessary?
Isn't it the same as BYTE_OFFSET but for non-bitfield?
May be single kind will do?


================
Comment at: llvm/lib/Target/BPF/BPFCORE.h:22
+    FIELD_BYTE_OFFSET,
+    FIELD_LSHIFT_64BIT_BUF,
+    FIELD_RSHIFT_AFTER_LSHIFT_64BIT_BUF,
----------------
All these names are not added as builtin enum before compilation starts, right?
So C program cannot just use FIELD_BYTE_OFFSET and needs to define its own enum first?
How about FIELD_LSHIFT_U64 instead?


================
Comment at: llvm/lib/Target/BPF/BPFCORE.h:23
+    FIELD_LSHIFT_64BIT_BUF,
+    FIELD_RSHIFT_AFTER_LSHIFT_64BIT_BUF,
+
----------------
FIELD_RSHIFT_U64 ?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D67980





More information about the cfe-commits mailing list