Lines Matching refs:Slot
672 AggValueSlot Slot = EnsureSlot(E->getType()); in VisitCompoundLiteralExpr() local
677 !CGF.getLangOpts().CPlusPlus && !Slot.isExternallyDestructed(); in VisitCompoundLiteralExpr()
679 Slot.setExternallyDestructed(); in VisitCompoundLiteralExpr()
681 CGF.EmitAggExpr(E->getInitializer(), Slot); in VisitCompoundLiteralExpr()
686 CGF.getCleanupKind(DtorKind), Slot.getAddress(), E->getType(), in VisitCompoundLiteralExpr()
930 withReturnValueSlot(E, [&](ReturnValueSlot Slot) { in VisitCallExpr() argument
931 return CGF.EmitCallExpr(E, Slot); in VisitCallExpr()
936 withReturnValueSlot(E, [&](ReturnValueSlot Slot) { in VisitObjCMessageExpr() argument
937 return CGF.EmitObjCMessageExpr(E, Slot); in VisitObjCMessageExpr()
1317 AggValueSlot Slot = EnsureSlot(E->getType()); in VisitCXXConstructExpr() local
1318 CGF.EmitCXXConstructExpr(E, Slot); in VisitCXXConstructExpr()
1323 AggValueSlot Slot = EnsureSlot(E->getType()); in VisitCXXInheritedCtorInitExpr() local
1325 E->getConstructor(), E->constructsVBase(), Slot.getAddress(), in VisitCXXInheritedCtorInitExpr()
1331 AggValueSlot Slot = EnsureSlot(E->getType()); in VisitLambdaExpr() local
1332 LValue SlotLV = CGF.MakeAddrLValue(Slot.getAddress(), E->getType()); in VisitLambdaExpr()
1387 AggValueSlot Slot = EnsureSlot(T); in VisitCXXScalarValueInitExpr() local
1388 EmitNullInitializationToLValue(CGF.MakeAddrLValue(Slot.getAddress(), T)); in VisitCXXScalarValueInitExpr()
1393 AggValueSlot Slot = EnsureSlot(T); in VisitImplicitValueInitExpr() local
1394 EmitNullInitializationToLValue(CGF.MakeAddrLValue(Slot.getAddress(), T)); in VisitImplicitValueInitExpr()
1948 static void CheckAggExprForMemSetUse(AggValueSlot &Slot, const Expr *E, in CheckAggExprForMemSetUse() argument
1952 if (Slot.isZeroed() || Slot.isVolatile() || !Slot.getAddress().isValid()) in CheckAggExprForMemSetUse()
1965 CharUnits Size = Slot.getPreferredSize(CGF.getContext(), E->getType()); in CheckAggExprForMemSetUse()
1978 Address Loc = Slot.getAddress(); in CheckAggExprForMemSetUse()
1983 Slot.setZeroed(); in CheckAggExprForMemSetUse()
1993 void CodeGenFunction::EmitAggExpr(const Expr *E, AggValueSlot Slot) { in EmitAggExpr() argument
1996 assert((Slot.getAddress().isValid() || Slot.isIgnored()) && in EmitAggExpr()
2000 CheckAggExprForMemSetUse(Slot, E, *this); in EmitAggExpr()
2002 AggExprEmitter(*this, Slot, Slot.isIgnored()).Visit(const_cast<Expr*>(E)); in EmitAggExpr()