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()
435 const FieldDecl *FD) { in getAddrWithOffset()
437 asDerived().getFieldOffset(FD)); in getAddrWithOffset()
547 void visitVolatileTrivial(QualType FT, const FieldDecl *FD, CharUnits Offset, in visitVolatileTrivial()
550 if (FD) { in visitVolatileTrivial()
552 if (FD->isZeroLengthBitField(this->CGF->getContext())) in visitVolatileTrivial()
555 QualType RT = QualType(FD->getParent()->getTypeForDecl(), 0); in visitVolatileTrivial()
560 DstLV = this->CGF->EmitLValueForField(DstBase, FD); in visitVolatileTrivial()
564 SrcLV = this->CGF->EmitLValueForField(SrcBase, FD); in visitVolatileTrivial()
587 const FieldDecl *FD, CharUnits CurStructOffset, in visitWithKind()
590 visitArray(DK, AT, FT.isVolatileQualified(), FD, CurStructOffset, Addrs); in visitWithKind()
594 Super::visitWithKind(DK, FT, FD, CurStructOffset, Addrs); in visitWithKind()
597 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
600 *CGF, getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCStrong()
603 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
606 *CGF, getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCWeak()
627 const FieldDecl *FD, CharUnits CurStructOffset, in visitWithKind()
630 visitArray(PDIK, AT, FT.isVolatileQualified(), FD, CurStructOffset, in visitWithKind()
635 Super::visitWithKind(PDIK, FT, FD, CurStructOffset, Addrs); in visitWithKind()
638 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
641 getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCStrong()
644 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
647 getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCWeak()
652 const FieldDecl *FD, CharUnits CurStructOffset, in visitArray()
655 return visitTrivial(QualType(AT, 0), FD, CurStructOffset, Addrs); in visitArray()
662 GenFuncBaseTy::visitArray(FK, AT, IsVolatile, FD, CurStructOffset, Addrs); in visitArray()
667 Address DstAddr = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitArray()
684 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
686 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
687 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
694 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
696 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
697 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()
714 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
716 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
717 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
726 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
728 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
729 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()
746 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
748 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
749 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
756 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
758 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
759 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()
777 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
779 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
780 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
792 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
794 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
795 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()