Lines Matching refs:FD

25 static uint64_t getFieldSize(const FieldDecl *FD, QualType FT,  in getFieldSize()  argument
27 if (FD && FD->isBitField()) in getFieldSize()
28 return FD->getBitWidthValue(Ctx); in getFieldSize()
44 for (const FieldDecl *FD : RD->fields()) { in visitStructFields() local
45 QualType FT = FD->getType(); in visitStructFields()
47 asDerived().visit(FT, FD, CurStructOffset, Args...); in visitStructFields()
61 uint64_t getFieldOffsetInBits(const FieldDecl *FD) { in getFieldOffsetInBits()
62 return FD ? Ctx.getASTRecordLayout(FD->getParent()) in getFieldOffsetInBits()
63 .getFieldOffset(FD->getFieldIndex()) in getFieldOffsetInBits()
67 CharUnits getFieldOffset(const FieldDecl *FD) { in getFieldOffset()
68 return Ctx.toCharUnitsFromBits(getFieldOffsetInBits(FD)); in getFieldOffset()
87 const FieldDecl *FD, CharUnits CurStructOffset, Ts &&... Args) { in preVisit()
94 const FieldDecl *FD, CharUnits CurStructOffset, in visitWithKind()
97 asDerived().visitArray(PCK, AT, FT.isVolatileQualified(), FD, in visitWithKind()
102 Super::visitWithKind(PCK, FT, FD, CurStructOffset, in visitWithKind()
107 void visitTrivial(QualType FT, const FieldDecl *FD, CharUnits CurStructOffset, in visitTrivial()
111 uint64_t FieldSize = getFieldSize(FD, FT, Ctx); in visitTrivial()
117 uint64_t FStartInBits = asDerived().getFieldOffsetInBits(FD); in visitTrivial()
159 void visitARCStrong(QualType FT, const FieldDecl *FD, in visitARCStrong()
164 CharUnits FieldOffset = CurStructOffset + asDerived().getFieldOffset(FD); in visitARCStrong()
168 void visitARCWeak(QualType FT, const FieldDecl *FD, in visitARCWeak()
171 CharUnits FieldOffset = CurStructOffset + asDerived().getFieldOffset(FD); in visitARCWeak()
175 void visitStruct(QualType QT, const FieldDecl *FD, in visitStruct()
177 CharUnits FieldOffset = CurStructOffset + asDerived().getFieldOffset(FD); in visitStruct()
184 const FieldDecl *FD, CharUnits CurStructOffset) { in visitArray()
188 return asDerived().visitTrivial(QualType(AT, 0), FD, CurStructOffset); in visitArray()
191 CharUnits FieldOffset = CurStructOffset + asDerived().getFieldOffset(FD); in visitArray()
255 void visitVolatileTrivial(QualType FT, const FieldDecl *FD, in visitVolatileTrivial()
258 if (FD && FD->isZeroLengthBitField(this->Ctx)) in visitVolatileTrivial()
264 this->Ctx.toBits(CurStructOffset) + this->getFieldOffsetInBits(FD); in visitVolatileTrivial()
266 llvm::to_string(getFieldSize(FD, FT, this->Ctx))); in visitVolatileTrivial()
278 const FieldDecl *FD, CharUnits CurStructOffset) { in visitWithKind()
280 visitArray(PDIK, AT, FT.isVolatileQualified(), FD, CurStructOffset); in visitWithKind()
284 Super::visitWithKind(PDIK, FT, FD, CurStructOffset); in visitWithKind()
295 const FieldDecl *FD, CharUnits CurStructOffset) { in visitWithKind()
297 visitArray(DK, AT, FT.isVolatileQualified(), FD, CurStructOffset); in visitWithKind()
301 Super::visitWithKind(DK, FT, FD, CurStructOffset); in visitWithKind()
338 void visitStruct(QualType FT, const FieldDecl *FD, CharUnits CurStructOffset, in visitStruct()
341 FT, CurStructOffset + asDerived().getFieldOffset(FD), Addrs); in visitStruct()
346 const FieldDecl *FD, CharUnits CurStructOffset, in visitArray()
350 return asDerived().visitTrivial(QualType(AT, 0), FD, CurStructOffset, in visitArray()
361 StartAddrs[I] = getAddrWithOffset(Addrs[I], CurStructOffset, FD); in visitArray()
435 const FieldDecl *FD) { in getAddrWithOffset()
437 asDerived().getFieldOffset(FD)); in getAddrWithOffset()
548 void visitVolatileTrivial(QualType FT, const FieldDecl *FD, CharUnits Offset, in visitVolatileTrivial()
551 if (FD) { in visitVolatileTrivial()
553 if (FD->isZeroLengthBitField(this->CGF->getContext())) in visitVolatileTrivial()
556 QualType RT = QualType(FD->getParent()->getTypeForDecl(), 0); in visitVolatileTrivial()
561 DstLV = this->CGF->EmitLValueForField(DstBase, FD); in visitVolatileTrivial()
565 SrcLV = this->CGF->EmitLValueForField(SrcBase, FD); in visitVolatileTrivial()
586 const FieldDecl *FD, CharUnits CurStructOffset, in visitWithKind()
589 visitArray(DK, AT, FT.isVolatileQualified(), FD, CurStructOffset, Addrs); in visitWithKind()
593 Super::visitWithKind(DK, FT, FD, CurStructOffset, Addrs); in visitWithKind()
596 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
599 *CGF, getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCStrong()
602 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
605 *CGF, getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCWeak()
626 const FieldDecl *FD, CharUnits CurStructOffset, in visitWithKind()
629 visitArray(PDIK, AT, FT.isVolatileQualified(), FD, CurStructOffset, in visitWithKind()
634 Super::visitWithKind(PDIK, FT, FD, CurStructOffset, Addrs); in visitWithKind()
637 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
640 getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCStrong()
643 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
646 getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCWeak()
651 const FieldDecl *FD, CharUnits CurStructOffset, in visitArray()
654 return visitTrivial(QualType(AT, 0), FD, CurStructOffset, Addrs); in visitArray()
661 GenFuncBaseTy::visitArray(FK, AT, IsVolatile, FD, CurStructOffset, Addrs); in visitArray()
666 Address DstAddr = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitArray()
683 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
685 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
686 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
693 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
695 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
696 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()
713 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
715 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
716 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
725 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
727 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
728 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()
745 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
747 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
748 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
755 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
757 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
758 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()
776 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
778 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
779 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
791 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
793 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
794 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()