[llvm] [BPF] Support for `DW_TAG_variant_part` in BTF generation (PR #155783)

Michal R via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 1 07:10:12 PDT 2025


================
@@ -305,17 +305,22 @@ void BTFTypeStruct::completeType(BTFDebug &BDebug) {
   const DINodeArray Elements = STy->getElements();
   for (const auto *Element : Elements) {
     struct BTF::BTFMember BTFMember;
-    const auto *DDTy = cast<DIDerivedType>(Element);
-
-    BTFMember.NameOff = BDebug.addString(DDTy->getName());
-    if (HasBitField) {
-      uint8_t BitFieldSize = DDTy->isBitField() ? DDTy->getSizeInBits() : 0;
-      BTFMember.Offset = BitFieldSize << 24 | DDTy->getOffsetInBits();
-    } else {
-      BTFMember.Offset = DDTy->getOffsetInBits();
+    if (const auto *DDTy = dyn_cast<DIDerivedType>(Element)) {
----------------
vadorovsky wrote:

Done

https://github.com/llvm/llvm-project/pull/155783


More information about the llvm-commits mailing list