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()
337 void visitStruct(QualType FT, const FieldDecl *FD, CharUnits CurStructOffset, in visitStruct()
340 FT, CurStructOffset + asDerived().getFieldOffset(FD), Addrs); in visitStruct()
345 const FieldDecl *FD, CharUnits CurStructOffset, in visitArray()
349 return asDerived().visitTrivial(QualType(AT, 0), FD, CurStructOffset, in visitArray()
360 StartAddrs[I] = getAddrWithOffset(Addrs[I], CurStructOffset, FD); in visitArray()
432 const FieldDecl *FD) { in getAddrWithOffset()
434 asDerived().getFieldOffset(FD)); in getAddrWithOffset()
542 void visitVolatileTrivial(QualType FT, const FieldDecl *FD, CharUnits Offset, in visitVolatileTrivial()
545 if (FD) { in visitVolatileTrivial()
547 if (FD->isZeroLengthBitField(this->CGF->getContext())) in visitVolatileTrivial()
550 QualType RT = QualType(FD->getParent()->getTypeForDecl(), 0); in visitVolatileTrivial()
555 DstLV = this->CGF->EmitLValueForField(DstBase, FD); in visitVolatileTrivial()
559 SrcLV = this->CGF->EmitLValueForField(SrcBase, FD); in visitVolatileTrivial()
580 const FieldDecl *FD, CharUnits CurStructOffset, in visitWithKind()
583 visitArray(DK, AT, FT.isVolatileQualified(), FD, CurStructOffset, Addrs); in visitWithKind()
587 Super::visitWithKind(DK, FT, FD, CurStructOffset, Addrs); in visitWithKind()
590 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
593 *CGF, getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCStrong()
596 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
599 *CGF, getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCWeak()
620 const FieldDecl *FD, CharUnits CurStructOffset, in visitWithKind()
623 visitArray(PDIK, AT, FT.isVolatileQualified(), FD, CurStructOffset, in visitWithKind()
628 Super::visitWithKind(PDIK, FT, FD, CurStructOffset, Addrs); in visitWithKind()
631 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
634 getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCStrong()
637 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
640 getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCWeak()
645 const FieldDecl *FD, CharUnits CurStructOffset, in visitArray()
648 return visitTrivial(QualType(AT, 0), FD, CurStructOffset, Addrs); in visitArray()
655 GenFuncBaseTy::visitArray(FK, AT, IsVolatile, FD, CurStructOffset, Addrs); in visitArray()
660 Address DstAddr = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitArray()
677 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
679 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
680 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
687 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
689 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
690 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()
707 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
709 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
710 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
719 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
721 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
722 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()
739 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
741 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
742 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
749 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
751 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
752 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()
770 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
772 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
773 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
785 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
787 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
788 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()