Lines Matching refs:QT
40 void visitStructFields(QualType QT, CharUnits CurStructOffset, Ts... Args) { in visitStructFields()
41 const RecordDecl *RD = QT->castAs<RecordType>()->getDecl(); in visitStructFields()
46 FT = QT.isVolatileQualified() ? FT.withVolatile() : FT; in visitStructFields()
175 void visitStruct(QualType QT, const FieldDecl *FD, in visitStruct()
179 asDerived().visitStructFields(QT, FieldOffset); in visitStruct()
207 std::string getName(QualType QT, bool IsVolatile) { in getName()
208 QT = IsVolatile ? QT.withVolatile() : QT; in getName()
209 asDerived().visitStructFields(QT, CharUnits::Zero()); in getName()
441 llvm::Function *getFunction(StringRef FuncName, QualType QT, in getFunction()
457 SourceLocation Loc = QT->castAs<RecordType>()->getDecl()->getLocation(); in getFunction()
481 asDerived().visitStructFields(QT, CharUnits::Zero(), Addrs); in getFunction()
487 void callFunc(StringRef FuncName, QualType QT, std::array<Address, N> Addrs, in callFunc()
499 getFunction(FuncName, QT, Alignments, CallerCGF.CGM)) in callFunc()
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()
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()
684 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
689 Addrs[SrcIdx], QT.isVolatileQualified(), QT, SourceLocation()); in visitARCStrong()
690 llvm::Value *Val = CGF->EmitARCRetain(QT, SrcVal); in visitARCStrong()
691 CGF->EmitStoreOfScalar(Val, CGF->MakeAddrLValue(Addrs[DstIdx], QT), true); in visitARCStrong()
694 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
714 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
718 LValue SrcLV = CGF->MakeAddrLValue(Addrs[SrcIdx], QT); in visitARCStrong()
722 CGF->EmitStoreOfScalar(SrcVal, CGF->MakeAddrLValue(Addrs[DstIdx], QT), in visitARCStrong()
726 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
746 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
751 Addrs[SrcIdx], QT.isVolatileQualified(), QT, SourceLocation()); in visitARCStrong()
752 CGF->EmitARCStoreStrong(CGF->MakeAddrLValue(Addrs[DstIdx], QT), SrcVal, in visitARCStrong()
756 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
760 CGF->emitARCCopyAssignWeak(QT, Addrs[DstIdx], Addrs[SrcIdx]); in visitARCWeak()
777 void visitARCStrong(QualType QT, const FieldDecl *FD, in visitARCStrong()
781 LValue SrcLV = CGF->MakeAddrLValue(Addrs[SrcIdx], QT); in visitARCStrong()
785 LValue DstLV = CGF->MakeAddrLValue(Addrs[DstIdx], QT); in visitARCStrong()
792 void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset, in visitARCWeak()
796 CGF->emitARCMoveAssignWeak(QT, Addrs[DstIdx], Addrs[SrcIdx]); in visitARCWeak()
823 QualType QT = Dst.getType(); in defaultInitNonTrivialCStructVar() local
824 QT = Dst.isVolatile() ? QT.withVolatile() : QT; in defaultInitNonTrivialCStructVar()
825 Gen.visit(QT, nullptr, CharUnits::Zero(), std::array<Address, 1>({{DstPtr}})); in defaultInitNonTrivialCStructVar()
829 static void callSpecialFunction(G &&Gen, StringRef FuncName, QualType QT, in callSpecialFunction() argument
835 QT = IsVolatile ? QT.withVolatile() : QT; in callSpecialFunction()
836 Gen.callFunc(FuncName, QT, Addrs, CGF); in callSpecialFunction()
841 getSpecialFunction(G &&Gen, StringRef FuncName, QualType QT, bool IsVolatile, in getSpecialFunction() argument
843 QT = IsVolatile ? QT.withVolatile() : QT; in getSpecialFunction()
847 return Gen.getFunction(FuncName, QT, Alignments, CGM); in getSpecialFunction()
854 QualType QT = Dst.getType(); in callCStructDefaultConstructor() local
856 std::string FuncName = GenName.getName(QT, IsVolatile); in callCStructDefaultConstructor()
857 callSpecialFunction(GenDefaultInitialize(getContext()), FuncName, QT, in callCStructDefaultConstructor()
862 QualType QT, CharUnits Alignment, bool IsVolatile, ASTContext &Ctx) { in getNonTrivialCopyConstructorStr() argument
864 return GenName.getName(QT, IsVolatile); in getNonTrivialCopyConstructorStr()
867 std::string CodeGenFunction::getNonTrivialDestructorStr(QualType QT, in getNonTrivialDestructorStr() argument
872 return GenName.getName(QT, IsVolatile); in getNonTrivialDestructorStr()
878 QualType QT = Dst.getType(); in callCStructDestructor() local
881 std::string FuncName = GenName.getName(QT, IsVolatile); in callCStructDestructor()
882 callSpecialFunction(GenDestructor(getContext()), FuncName, QT, IsVolatile, in callCStructDestructor()
889 QualType QT = Dst.getType(); in callCStructCopyConstructor() local
892 std::string FuncName = GenName.getName(QT, IsVolatile); in callCStructCopyConstructor()
893 callSpecialFunction(GenCopyConstructor(getContext()), FuncName, QT, in callCStructCopyConstructor()
903 QualType QT = Dst.getType(); in callCStructCopyAssignmentOperator() local
906 std::string FuncName = GenName.getName(QT, IsVolatile); in callCStructCopyAssignmentOperator()
907 callSpecialFunction(GenCopyAssignment(getContext()), FuncName, QT, IsVolatile, in callCStructCopyAssignmentOperator()
914 QualType QT = Dst.getType(); in callCStructMoveConstructor() local
917 std::string FuncName = GenName.getName(QT, IsVolatile); in callCStructMoveConstructor()
918 callSpecialFunction(GenMoveConstructor(getContext()), FuncName, QT, in callCStructMoveConstructor()
928 QualType QT = Dst.getType(); in callCStructMoveAssignmentOperator() local
931 std::string FuncName = GenName.getName(QT, IsVolatile); in callCStructMoveAssignmentOperator()
932 callSpecialFunction(GenMoveAssignment(getContext()), FuncName, QT, IsVolatile, in callCStructMoveAssignmentOperator()
937 CodeGenModule &CGM, CharUnits DstAlignment, bool IsVolatile, QualType QT) { in getNonTrivialCStructDefaultConstructor() argument
940 std::string FuncName = GenName.getName(QT, IsVolatile); in getNonTrivialCStructDefaultConstructor()
941 return getSpecialFunction(GenDefaultInitialize(Ctx), FuncName, QT, IsVolatile, in getNonTrivialCStructDefaultConstructor()
947 bool IsVolatile, QualType QT) { in getNonTrivialCStructCopyConstructor() argument
951 std::string FuncName = GenName.getName(QT, IsVolatile); in getNonTrivialCStructCopyConstructor()
953 GenCopyConstructor(Ctx), FuncName, QT, IsVolatile, in getNonTrivialCStructCopyConstructor()
959 bool IsVolatile, QualType QT) { in getNonTrivialCStructMoveConstructor() argument
963 std::string FuncName = GenName.getName(QT, IsVolatile); in getNonTrivialCStructMoveConstructor()
965 GenMoveConstructor(Ctx), FuncName, QT, IsVolatile, in getNonTrivialCStructMoveConstructor()
971 bool IsVolatile, QualType QT) { in getNonTrivialCStructCopyAssignmentOperator() argument
975 std::string FuncName = GenName.getName(QT, IsVolatile); in getNonTrivialCStructCopyAssignmentOperator()
977 GenCopyAssignment(Ctx), FuncName, QT, IsVolatile, in getNonTrivialCStructCopyAssignmentOperator()
983 bool IsVolatile, QualType QT) { in getNonTrivialCStructMoveAssignmentOperator() argument
987 std::string FuncName = GenName.getName(QT, IsVolatile); in getNonTrivialCStructMoveAssignmentOperator()
989 GenMoveAssignment(Ctx), FuncName, QT, IsVolatile, in getNonTrivialCStructMoveAssignmentOperator()
994 CodeGenModule &CGM, CharUnits DstAlignment, bool IsVolatile, QualType QT) { in getNonTrivialCStructDestructor() argument
997 std::string FuncName = GenName.getName(QT, IsVolatile); in getNonTrivialCStructDestructor()
998 return getSpecialFunction(GenDestructor(Ctx), FuncName, QT, IsVolatile, in getNonTrivialCStructDestructor()