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()
476 FunctionDecl *FD = FunctionDecl::Create( in getFunction() local
482 CGF->StartFunction(FD, Ctx.VoidTy, F, FI, Args); in getFunction()
552 void visitVolatileTrivial(QualType FT, const FieldDecl *FD, CharUnits Offset, in visitVolatileTrivial()
555 if (FD) { in visitVolatileTrivial()
557 if (FD->isZeroLengthBitField(this->CGF->getContext())) in visitVolatileTrivial()
560 QualType RT = QualType(FD->getParent()->getTypeForDecl(), 0); in visitVolatileTrivial()
565 DstLV = this->CGF->EmitLValueForField(DstBase, FD); in visitVolatileTrivial()
569 SrcLV = this->CGF->EmitLValueForField(SrcBase, FD); in visitVolatileTrivial()
590 const FieldDecl *FD, CharUnits CurStructOffset, in visitWithKind()
593 visitArray(DK, AT, FT.isVolatileQualified(), FD, CurStructOffset, Addrs); in visitWithKind()
597 Super::visitWithKind(DK, FT, FD, CurStructOffset, Addrs); in visitWithKind()
600 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
603 *CGF, getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCStrong()
606 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
609 *CGF, getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCWeak()
630 const FieldDecl *FD, CharUnits CurStructOffset, in visitWithKind()
633 visitArray(PDIK, AT, FT.isVolatileQualified(), FD, CurStructOffset, in visitWithKind()
638 Super::visitWithKind(PDIK, FT, FD, CurStructOffset, Addrs); in visitWithKind()
641 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
644 getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCStrong()
647 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
650 getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT); in visitARCWeak()
655 const FieldDecl *FD, CharUnits CurStructOffset, in visitArray()
658 return visitTrivial(QualType(AT, 0), FD, CurStructOffset, Addrs); in visitArray()
665 GenFuncBaseTy::visitArray(FK, AT, IsVolatile, FD, CurStructOffset, Addrs); in visitArray()
670 Address DstAddr = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitArray()
687 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
689 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
690 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
697 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
699 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
700 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()
717 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
719 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
720 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
729 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
731 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
732 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()
749 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
751 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
752 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
759 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
761 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
762 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()
780 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
782 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCStrong()
783 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCStrong()
795 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
797 Addrs[DstIdx] = getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD); in visitARCWeak()
798 Addrs[SrcIdx] = getAddrWithOffset(Addrs[SrcIdx], CurStructOffset, FD); in visitARCWeak()