Lines Matching refs:AggValueSlot
40 AggValueSlot Dest;
43 AggValueSlot EnsureSlot(QualType T) {
62 AggExprEmitter(CodeGenFunction &cgf, AggValueSlot Dest, bool IsResultUnused)
85 void EmitCopy(QualType type, const AggValueSlot &dest,
86 const AggValueSlot &src);
93 AggValueSlot::NeedsGCBarriers_t needsGC(QualType T) {
95 return AggValueSlot::NeedsGCBarriers;
96 return AggValueSlot::DoesNotNeedGCBarriers;
353 AggValueSlot srcAgg = AggValueSlot::forLValue(
354 src, CGF, AggValueSlot::IsDestructed, needsGC(type),
355 AggValueSlot::IsAliased, AggValueSlot::MayOverlap);
363 void AggExprEmitter::EmitCopy(QualType type, const AggValueSlot &dest,
364 const AggValueSlot &src) {
415 AggValueSlot Dest = EnsureSlot(E->getType());
665 AggValueSlot Slot = EnsureSlot(E->getType());
717 CGF.EmitAnyExpr(E->getSubExpr(), AggValueSlot::ignored(),
733 CGF.EmitAnyExpr(E->getSubExpr(), AggValueSlot::ignored(),
791 AggValueSlot valueDest = Dest;
801 valueDest = AggValueSlot::forAddr(valueAddr,
806 AggValueSlot::DoesNotOverlap,
807 AggValueSlot::IsZeroed);
816 AggValueSlot atomicSlot =
1187 AggValueSlot::forLValue(LHS, CGF, AggValueSlot::IsDestructed,
1189 AggValueSlot::IsAliased,
1190 AggValueSlot::MayOverlap),
1208 AggValueSlot LHSSlot = AggValueSlot::forLValue(
1209 LHS, CGF, AggValueSlot::IsDestructed, needsGC(E->getLHS()->getType()),
1210 AggValueSlot::IsAliased, AggValueSlot::MayOverlap);
1310 AggValueSlot Slot = EnsureSlot(E->getType());
1316 AggValueSlot Slot = EnsureSlot(E->getType());
1324 AggValueSlot Slot = EnsureSlot(E->getType());
1380 AggValueSlot Slot = EnsureSlot(T);
1386 AggValueSlot Slot = EnsureSlot(T);
1544 E, AggValueSlot::forLValue(LV, CGF, AggValueSlot::IsDestructed,
1545 AggValueSlot::DoesNotNeedGCBarriers,
1546 AggValueSlot::IsNotAliased,
1547 AggValueSlot::MayOverlap, Dest.isZeroed()));
1608 AggValueSlot Dest = EnsureSlot(E->getType());
1652 AggValueSlot AggSlot = AggValueSlot::forAddr(
1654 AggValueSlot::IsDestructed,
1655 AggValueSlot::DoesNotNeedGCBarriers,
1656 AggValueSlot::IsNotAliased,
1832 auto elementSlot = AggValueSlot::forLValue(
1833 elementLV, CGF, AggValueSlot::IsDestructed,
1834 AggValueSlot::DoesNotNeedGCBarriers, AggValueSlot::IsNotAliased,
1835 AggValueSlot::DoesNotOverlap);
1862 AggValueSlot Dest = EnsureSlot(E->getType());
1938 static void CheckAggExprForMemSetUse(AggValueSlot &Slot, const Expr *E,
1983 void CodeGenFunction::EmitAggExpr(const Expr *E, AggValueSlot Slot) {
1999 EmitAggExpr(E, AggValueSlot::forLValue(
2000 LV, *this, AggValueSlot::IsNotDestructed,
2001 AggValueSlot::DoesNotNeedGCBarriers,
2002 AggValueSlot::IsNotAliased, AggValueSlot::DoesNotOverlap));
2006 AggValueSlot::Overlap_t
2009 return AggValueSlot::DoesNotOverlap;
2019 return AggValueSlot::DoesNotOverlap;
2022 return AggValueSlot::MayOverlap;
2025 AggValueSlot::Overlap_t CodeGenFunction::getOverlapForBaseInit(
2031 return AggValueSlot::MayOverlap;
2040 return AggValueSlot::DoesNotOverlap;
2043 return AggValueSlot::MayOverlap;
2047 AggValueSlot::Overlap_t MayOverlap,