Lines Matching defs:QT

40   void visitStructFields(QualType QT, CharUnits CurStructOffset, Ts... Args) {
41 const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
46 FT = QT.isVolatileQualified() ? FT.withVolatile() : FT;
175 void visitStruct(QualType QT, const FieldDecl *FD,
179 asDerived().visitStructFields(QT, FieldOffset);
207 std::string getName(QualType QT, bool IsVolatile) {
208 QT = IsVolatile ? QT.withVolatile() : QT;
209 asDerived().visitStructFields(QT, CharUnits::Zero());
438 llvm::Function *getFunction(StringRef FuncName, QualType QT,
454 SourceLocation Loc = QT->castAs<RecordType>()->getDecl()->getLocation();
478 asDerived().visitStructFields(QT, CharUnits::Zero(), Addrs);
484 void callFunc(StringRef FuncName, QualType QT, std::array<Address, N> Addrs,
495 getFunction(FuncName, QT, Alignments, CallerCGF.CGM))
590 void visitARCStrong(QualType QT, const FieldDecl *FD,
593 *CGF, getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT);
596 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset,
599 *CGF, getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT);
631 void visitARCStrong(QualType QT, const FieldDecl *FD,
634 getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT);
637 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset,
640 getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT);
677 void visitARCStrong(QualType QT, const FieldDecl *FD,
682 Addrs[SrcIdx], QT.isVolatileQualified(), QT, SourceLocation());
683 llvm::Value *Val = CGF->EmitARCRetain(QT, SrcVal);
684 CGF->EmitStoreOfScalar(Val, CGF->MakeAddrLValue(Addrs[DstIdx], QT), true);
687 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset,
707 void visitARCStrong(QualType QT, const FieldDecl *FD,
711 LValue SrcLV = CGF->MakeAddrLValue(Addrs[SrcIdx], QT);
715 CGF->EmitStoreOfScalar(SrcVal, CGF->MakeAddrLValue(Addrs[DstIdx], QT),
719 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset,
739 void visitARCStrong(QualType QT, const FieldDecl *FD,
744 Addrs[SrcIdx], QT.isVolatileQualified(), QT, SourceLocation());
745 CGF->EmitARCStoreStrong(CGF->MakeAddrLValue(Addrs[DstIdx], QT), SrcVal,
749 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset,
753 CGF->emitARCCopyAssignWeak(QT, Addrs[DstIdx], Addrs[SrcIdx]);
770 void visitARCStrong(QualType QT, const FieldDecl *FD,
774 LValue SrcLV = CGF->MakeAddrLValue(Addrs[SrcIdx], QT);
778 LValue DstLV = CGF->MakeAddrLValue(Addrs[DstIdx], QT);
785 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset,
789 CGF->emitARCMoveAssignWeak(QT, Addrs[DstIdx], Addrs[SrcIdx]);
815 QualType QT = Dst.getType();
816 QT = Dst.isVolatile() ? QT.withVolatile() : QT;
817 Gen.visit(QT, nullptr, CharUnits::Zero(), std::array<Address, 1>({{DstPtr}}));
821 static void callSpecialFunction(G &&Gen, StringRef FuncName, QualType QT,
827 QT = IsVolatile ? QT.withVolatile() : QT;
828 Gen.callFunc(FuncName, QT, Addrs, CGF);
833 getSpecialFunction(G &&Gen, StringRef FuncName, QualType QT, bool IsVolatile,
835 QT = IsVolatile ? QT.withVolatile() : QT;
839 return Gen.getFunction(FuncName, QT, Alignments, CGM);
846 QualType QT = Dst.getType();
848 std::string FuncName = GenName.getName(QT, IsVolatile);
849 callSpecialFunction(GenDefaultInitialize(getContext()), FuncName, QT,
854 QualType QT, CharUnits Alignment, bool IsVolatile, ASTContext &Ctx) {
856 return GenName.getName(QT, IsVolatile);
859 std::string CodeGenFunction::getNonTrivialDestructorStr(QualType QT,
864 return GenName.getName(QT, IsVolatile);
870 QualType QT = Dst.getType();
873 std::string FuncName = GenName.getName(QT, IsVolatile);
874 callSpecialFunction(GenDestructor(getContext()), FuncName, QT, IsVolatile,
881 QualType QT = Dst.getType();
884 std::string FuncName = GenName.getName(QT, IsVolatile);
885 callSpecialFunction(GenCopyConstructor(getContext()), FuncName, QT,
895 QualType QT = Dst.getType();
898 std::string FuncName = GenName.getName(QT, IsVolatile);
899 callSpecialFunction(GenCopyAssignment(getContext()), FuncName, QT, IsVolatile,
906 QualType QT = Dst.getType();
909 std::string FuncName = GenName.getName(QT, IsVolatile);
910 callSpecialFunction(GenMoveConstructor(getContext()), FuncName, QT,
920 QualType QT = Dst.getType();
923 std::string FuncName = GenName.getName(QT, IsVolatile);
924 callSpecialFunction(GenMoveAssignment(getContext()), FuncName, QT, IsVolatile,
929 CodeGenModule &CGM, CharUnits DstAlignment, bool IsVolatile, QualType QT) {
932 std::string FuncName = GenName.getName(QT, IsVolatile);
933 return getSpecialFunction(GenDefaultInitialize(Ctx), FuncName, QT, IsVolatile,
939 bool IsVolatile, QualType QT) {
943 std::string FuncName = GenName.getName(QT, IsVolatile);
945 GenCopyConstructor(Ctx), FuncName, QT, IsVolatile,
951 bool IsVolatile, QualType QT) {
955 std::string FuncName = GenName.getName(QT, IsVolatile);
957 GenMoveConstructor(Ctx), FuncName, QT, IsVolatile,
963 bool IsVolatile, QualType QT) {
967 std::string FuncName = GenName.getName(QT, IsVolatile);
969 GenCopyAssignment(Ctx), FuncName, QT, IsVolatile,
975 bool IsVolatile, QualType QT) {
979 std::string FuncName = GenName.getName(QT, IsVolatile);
981 GenMoveAssignment(Ctx), FuncName, QT, IsVolatile,
986 CodeGenModule &CGM, CharUnits DstAlignment, bool IsVolatile, QualType QT) {
989 std::string FuncName = GenName.getName(QT, IsVolatile);
990 return getSpecialFunction(GenDestructor(Ctx), FuncName, QT, IsVolatile,