Lines Matching refs:Slot
661 AggValueSlot Slot = EnsureSlot(E->getType());
662 CGF.EmitAggExpr(E->getInitializer(), Slot);
894 withReturnValueSlot(E, [&](ReturnValueSlot Slot) {
895 return CGF.EmitCallExpr(E, Slot);
900 withReturnValueSlot(E, [&](ReturnValueSlot Slot) {
901 return CGF.EmitObjCMessageExpr(E, Slot);
1267 AggValueSlot Slot = EnsureSlot(E->getType());
1268 CGF.EmitCXXConstructExpr(E, Slot);
1273 AggValueSlot Slot = EnsureSlot(E->getType());
1275 E->getConstructor(), E->constructsVBase(), Slot.getAddress(),
1281 AggValueSlot Slot = EnsureSlot(E->getType());
1282 LValue SlotLV = CGF.MakeAddrLValue(Slot.getAddress(), E->getType());
1338 AggValueSlot Slot = EnsureSlot(T);
1339 EmitNullInitializationToLValue(CGF.MakeAddrLValue(Slot.getAddress(), T));
1344 AggValueSlot Slot = EnsureSlot(T);
1345 EmitNullInitializationToLValue(CGF.MakeAddrLValue(Slot.getAddress(), T));
1796 static void CheckAggExprForMemSetUse(AggValueSlot &Slot, const Expr *E,
1800 if (Slot.isZeroed() || Slot.isVolatile() || !Slot.getAddress().isValid())
1813 CharUnits Size = Slot.getPreferredSize(CGF.getContext(), E->getType());
1826 Address Loc = Slot.getAddress();
1831 Slot.setZeroed();
1841 void CodeGenFunction::EmitAggExpr(const Expr *E, AggValueSlot Slot) {
1844 assert((Slot.getAddress().isValid() || Slot.isIgnored()) &&
1848 CheckAggExprForMemSetUse(Slot, E, *this);
1850 AggExprEmitter(*this, Slot, Slot.isIgnored()).Visit(const_cast<Expr*>(E));