Lines Matching defs:Slot
216 AggValueSlot Slot = EnsureSlot(E->getType());
218 !Slot.isExternallyDestructed() &&
221 Slot.setExternallyDestructed();
222 CGF.EmitPseudoObjectRValue(E, Slot);
224 CGF.pushDestroy(QualType::DK_nontrivial_c_struct, Slot.getAddress(),
710 AggValueSlot Slot = EnsureSlot(E->getType());
715 !CGF.getLangOpts().CPlusPlus && !Slot.isExternallyDestructed();
717 Slot.setExternallyDestructed();
719 CGF.EmitAggExpr(E->getInitializer(), Slot);
724 CGF.getCleanupKind(DtorKind), Slot.getAddress(), E->getType(),
969 withReturnValueSlot(E, [&](ReturnValueSlot Slot) {
970 return CGF.EmitCallExpr(E, Slot);
975 withReturnValueSlot(E, [&](ReturnValueSlot Slot) {
976 return CGF.EmitObjCMessageExpr(E, Slot);
1361 AggValueSlot Slot = EnsureSlot(E->getType());
1362 CGF.EmitCXXConstructExpr(E, Slot);
1367 AggValueSlot Slot = EnsureSlot(E->getType());
1369 E->getConstructor(), E->constructsVBase(), Slot.getAddress(),
1375 AggValueSlot Slot = EnsureSlot(E->getType());
1376 LValue SlotLV = CGF.MakeAddrLValue(Slot.getAddress(), E->getType());
1414 AggValueSlot Slot = EnsureSlot(T);
1415 EmitNullInitializationToLValue(CGF.MakeAddrLValue(Slot.getAddress(), T));
1420 AggValueSlot Slot = EnsureSlot(T);
1421 EmitNullInitializationToLValue(CGF.MakeAddrLValue(Slot.getAddress(), T));
2021 static void CheckAggExprForMemSetUse(AggValueSlot &Slot, const Expr *E,
2025 if (Slot.isZeroed() || Slot.isVolatile() || !Slot.getAddress().isValid())
2038 CharUnits Size = Slot.getPreferredSize(CGF.getContext(), E->getType());
2051 Address Loc = Slot.getAddress().withElementType(CGF.Int8Ty);
2055 Slot.setZeroed();
2065 void CodeGenFunction::EmitAggExpr(const Expr *E, AggValueSlot Slot) {
2068 assert((Slot.getAddress().isValid() || Slot.isIgnored()) &&
2072 CheckAggExprForMemSetUse(Slot, E, *this);
2074 AggExprEmitter(*this, Slot, Slot.isIgnored()).Visit(const_cast<Expr*>(E));