Lines Matching defs:FT
25 static uint64_t getFieldSize(const FieldDecl *FD, QualType FT,
29 return Ctx.getTypeSize(FT);
45 QualType FT = FD->getType();
46 FT = QT.isVolatileQualified() ? FT.withVolatile() : FT;
47 asDerived().visit(FT, FD, CurStructOffset, Args...);
86 void preVisit(QualType::PrimitiveCopyKind PCK, QualType FT,
93 void visitWithKind(QualType::PrimitiveCopyKind PCK, QualType FT,
96 if (const auto *AT = asDerived().getContext().getAsArrayType(FT)) {
97 asDerived().visitArray(PCK, AT, FT.isVolatileQualified(), FD,
102 Super::visitWithKind(PCK, FT, FD, CurStructOffset,
107 void visitTrivial(QualType FT, const FieldDecl *FD, CharUnits CurStructOffset,
109 assert(!FT.isVolatileQualified() && "volatile field not expected");
111 uint64_t FieldSize = getFieldSize(FD, FT, Ctx);
159 void visitARCStrong(QualType FT, const FieldDecl *FD,
162 if (FT->isBlockPointerType())
165 appendStr(getVolatileOffsetStr(FT.isVolatileQualified(), FieldOffset));
168 void visitARCWeak(QualType FT, const FieldDecl *FD,
172 appendStr(getVolatileOffsetStr(FT.isVolatileQualified(), FieldOffset));
255 void visitVolatileTrivial(QualType FT, const FieldDecl *FD,
266 llvm::to_string(getFieldSize(FD, FT, this->Ctx)));
277 void visitWithKind(QualType::PrimitiveDefaultInitializeKind PDIK, QualType FT,
279 if (const auto *AT = getContext().getAsArrayType(FT)) {
280 visitArray(PDIK, AT, FT.isVolatileQualified(), FD, CurStructOffset);
284 Super::visitWithKind(PDIK, FT, FD, CurStructOffset);
294 void visitWithKind(QualType::DestructionKind DK, QualType FT,
296 if (const auto *AT = getContext().getAsArrayType(FT)) {
297 visitArray(DK, AT, FT.isVolatileQualified(), FD, CurStructOffset);
301 Super::visitWithKind(DK, FT, FD, CurStructOffset);
338 void visitStruct(QualType FT, const FieldDecl *FD, CharUnits CurStructOffset,
341 FT, CurStructOffset + asDerived().getFieldOffset(FD), Addrs);
552 void visitVolatileTrivial(QualType FT, const FieldDecl *FD, CharUnits Offset,
564 this->CGF->Builder.CreateBitCast(DstAddr, PtrTy), FT);
568 this->CGF->Builder.CreateBitCast(SrcAddr, PtrTy), FT);
571 llvm::PointerType *Ty = this->CGF->ConvertTypeForMem(FT)->getPointerTo();
574 DstLV = this->CGF->MakeAddrLValue(DstAddr, FT);
575 SrcLV = this->CGF->MakeAddrLValue(SrcAddr, FT);
589 void visitWithKind(QualType::DestructionKind DK, QualType FT,
592 if (const auto *AT = getContext().getAsArrayType(FT)) {
593 visitArray(DK, AT, FT.isVolatileQualified(), FD, CurStructOffset, Addrs);
597 Super::visitWithKind(DK, FT, FD, CurStructOffset, Addrs);
612 void callSpecialFunction(QualType FT, CharUnits Offset,
615 CGF->MakeAddrLValue(getAddrWithOffset(Addrs[DstIdx], Offset), FT));
629 void visitWithKind(QualType::PrimitiveDefaultInitializeKind PDIK, QualType FT,
632 if (const auto *AT = getContext().getAsArrayType(FT)) {
633 visitArray(PDIK, AT, FT.isVolatileQualified(), FD, CurStructOffset,
638 Super::visitWithKind(PDIK, FT, FD, CurStructOffset, Addrs);
676 void callSpecialFunction(QualType FT, CharUnits Offset,
679 CGF->MakeAddrLValue(getAddrWithOffset(Addrs[DstIdx], Offset), FT));
704 void callSpecialFunction(QualType FT, CharUnits Offset,
708 CGF->callCStructCopyConstructor(CGF->MakeAddrLValue(Addrs[DstIdx], FT),
709 CGF->MakeAddrLValue(Addrs[SrcIdx], FT));
736 void callSpecialFunction(QualType FT, CharUnits Offset,
740 CGF->callCStructMoveConstructor(CGF->MakeAddrLValue(Addrs[DstIdx], FT),
741 CGF->MakeAddrLValue(Addrs[SrcIdx], FT));
766 void callSpecialFunction(QualType FT, CharUnits Offset,
771 CGF->MakeAddrLValue(Addrs[DstIdx], FT),
772 CGF->MakeAddrLValue(Addrs[SrcIdx], FT));
802 void callSpecialFunction(QualType FT, CharUnits Offset,
807 CGF->MakeAddrLValue(Addrs[DstIdx], FT),
808 CGF->MakeAddrLValue(Addrs[SrcIdx], FT));