reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

tools/clang/lib/CodeGen/CGValue.h
   31   class AggValueSlot;

References

tools/clang/lib/CodeGen/CGAtomic.cpp
  185     RValue convertAtomicTempToRValue(Address addr, AggValueSlot resultSlot,
  192                                      AggValueSlot ResultSlot,
  211     RValue EmitAtomicLoad(AggValueSlot ResultSlot, SourceLocation Loc,
 1352                                              AggValueSlot resultSlot,
 1385                                              AggValueSlot ResultSlot,
 1473                                        AggValueSlot Slot) {
 1485 RValue AtomicInfo::EmitAtomicLoad(AggValueSlot ResultSlot, SourceLocation Loc,
 1520                                        AggValueSlot resultSlot) {
 1540                           AggValueSlot::DoesNotOverlap, IsVolatile);
 1664         convertAtomicTempToRValue(ExpectedAddr, AggValueSlot::ignored(),
 1676       ConvertIntToValueOrAtomic(Res.first, AggValueSlot::ignored(),
 1754                                            AggValueSlot::ignored(),
 1786   auto OldRVal = ConvertIntToValueOrAtomic(PHI, AggValueSlot::ignored(),
 1983     AggValueSlot Slot) {
 2031     AggValueSlot slot = AggValueSlot::forLValue(dest,
 2031     AggValueSlot slot = AggValueSlot::forLValue(dest,
 2032                                         AggValueSlot::IsNotDestructed,
 2033                                         AggValueSlot::DoesNotNeedGCBarriers,
 2034                                         AggValueSlot::IsNotAliased,
 2035                                         AggValueSlot::DoesNotOverlap,
 2036                                         Zeroed ? AggValueSlot::IsZeroed :
 2037                                                  AggValueSlot::IsNotZeroed);
tools/clang/lib/CodeGen/CGBlocks.cpp
 1102         AggValueSlot Slot =
 1103             AggValueSlot::forAddr(blockField, Qualifiers(),
 1104                                   AggValueSlot::IsDestructed,
 1105                                   AggValueSlot::DoesNotNeedGCBarriers,
 1106                                   AggValueSlot::IsNotAliased,
 1107                                   AggValueSlot::DoesNotOverlap);
tools/clang/lib/CodeGen/CGBuiltin.cpp
 6871     AggValueSlot MvecSlot = CreateAggTemp(MvecCType);
tools/clang/lib/CodeGen/CGCall.cpp
 3033 static AggValueSlot createPlaceholderSlot(CodeGenFunction &CGF,
 3046   return AggValueSlot::forAddr(Address(Placeholder, Align),
 3048                                AggValueSlot::IsNotDestructed,
 3049                                AggValueSlot::DoesNotNeedGCBarriers,
 3050                                AggValueSlot::IsNotAliased,
 3051                                AggValueSlot::DoesNotOverlap);
 3534   CGF.EmitAggregateCopy(Copy, LV, Ty, AggValueSlot::DoesNotOverlap,
 3550     CGF.EmitAggregateCopy(Dst, SrcLV, Ty, AggValueSlot::DoesNotOverlap,
 3583     AggValueSlot Slot;
tools/clang/lib/CodeGen/CGClass.cpp
  559   AggValueSlot AggSlot =
  560       AggValueSlot::forAddr(
  562           AggValueSlot::IsDestructed,
  563           AggValueSlot::DoesNotNeedGCBarriers,
  564           AggValueSlot::IsNotAliased,
  684     AggValueSlot Slot =
  685         AggValueSlot::forLValue(
  687             AggValueSlot::IsDestructed,
  688             AggValueSlot::DoesNotNeedGCBarriers,
  689             AggValueSlot::IsNotAliased,
  691             AggValueSlot::IsNotZeroed,
  693             AggValueSlot::IsSanitizerChecked);
 1990     auto currAVS = AggValueSlot::forAddr(
 1990     auto currAVS = AggValueSlot::forAddr(
 1991         curAddr, type.getQualifiers(), AggValueSlot::IsDestructed,
 1992         AggValueSlot::DoesNotNeedGCBarriers, AggValueSlot::IsNotAliased,
 1992         AggValueSlot::DoesNotNeedGCBarriers, AggValueSlot::IsNotAliased,
 1993         AggValueSlot::DoesNotOverlap, AggValueSlot::IsNotZeroed,
 1993         AggValueSlot::DoesNotOverlap, AggValueSlot::IsNotZeroed,
 1994         NewPointerIsChecked ? AggValueSlot::IsSanitizerChecked
 1995                             : AggValueSlot::IsNotSanitizerChecked);
 2032                                              AggValueSlot ThisAVS,
 2109                                              AggValueSlot::Overlap_t Overlap,
 2223                          This, Args, AggValueSlot::MayOverlap,
 2323                          AggValueSlot::MayOverlap, E->getExprLoc(),
 2360                          AggValueSlot::MayOverlap, Loc,
 2391   AggValueSlot AggSlot =
 2392     AggValueSlot::forAddr(ThisPtr, Qualifiers(),
 2393                           AggValueSlot::IsDestructed,
 2394                           AggValueSlot::DoesNotNeedGCBarriers,
 2395                           AggValueSlot::IsNotAliased,
 2396                           AggValueSlot::MayOverlap,
 2397                           AggValueSlot::IsNotZeroed,
 2399                           AggValueSlot::IsSanitizerChecked);
tools/clang/lib/CodeGen/CGCoroutine.cpp
  177                                     AwaitKind Kind, AggValueSlot aggSlot,
  262                                         AggValueSlot aggSlot,
  269                                         AggValueSlot aggSlot,
  306                                CurCoro.Data->CurrentAwaitKind, AggValueSlot::ignored(),
  316                                AwaitKind::Yield, AggValueSlot::ignored(),
tools/clang/lib/CodeGen/CGDecl.cpp
 1893       AggValueSlot::Overlap_t Overlap = AggValueSlot::MayOverlap;
 1893       AggValueSlot::Overlap_t Overlap = AggValueSlot::MayOverlap;
 1895         Overlap = AggValueSlot::DoesNotOverlap;
 1899       EmitAggExpr(init, AggValueSlot::forLValue(lvalue,
 1900                                               AggValueSlot::IsDestructed,
 1901                                          AggValueSlot::DoesNotNeedGCBarriers,
 1902                                               AggValueSlot::IsNotAliased,
tools/clang/lib/CodeGen/CGDeclCXX.cpp
   57     CGF.EmitAggExpr(Init, AggValueSlot::forLValue(lv,AggValueSlot::IsDestructed,
   57     CGF.EmitAggExpr(Init, AggValueSlot::forLValue(lv,AggValueSlot::IsDestructed,
   58                                           AggValueSlot::DoesNotNeedGCBarriers,
   59                                                   AggValueSlot::IsNotAliased,
   60                                                   AggValueSlot::DoesNotOverlap));
tools/clang/lib/CodeGen/CGExpr.cpp
  184     return (void) EmitAnyExpr(E, AggValueSlot::ignored(), true);
  195                                     AggValueSlot aggSlot,
  214   AggValueSlot AggSlot = AggValueSlot::ignored();
  214   AggValueSlot AggSlot = AggValueSlot::ignored();
  235     EmitAggExpr(E, AggValueSlot::forAddr(Location, Quals,
  237                                          AggValueSlot::DoesNotNeedGCBarriers,
  239                                          AggValueSlot::MayOverlap));
  458       EmitAggExpr(E, AggValueSlot::forAddr(Object,
  460                                            AggValueSlot::IsDestructed,
  461                                            AggValueSlot::DoesNotNeedGCBarriers,
  462                                            AggValueSlot::IsNotAliased,
  463                                            AggValueSlot::DoesNotOverlap));
 4679   AggValueSlot Slot = CreateAggTemp(E->getType());
 4701   AggValueSlot Slot = CreateAggTemp(E->getType(), "temp.lvalue");
 5018                                            AggValueSlot slot) {
 5088                                                AggValueSlot slot) {
 5093   return emitPseudoObjectExpr(*this, E, true, AggValueSlot::ignored()).LV;
tools/clang/lib/CodeGen/CGExprAgg.cpp
   38   AggValueSlot Dest;
   41   AggValueSlot EnsureSlot(QualType T) {
   60   AggExprEmitter(CodeGenFunction &cgf, AggValueSlot Dest, bool IsResultUnused)
   83   void EmitCopy(QualType type, const AggValueSlot &dest,
   84                 const AggValueSlot &src);
   91   AggValueSlot::NeedsGCBarriers_t needsGC(QualType T) {
   93       return AggValueSlot::NeedsGCBarriers;
   94     return AggValueSlot::DoesNotNeedGCBarriers;
  348   AggValueSlot srcAgg =
  349     AggValueSlot::forLValue(src, AggValueSlot::IsDestructed,
  349     AggValueSlot::forLValue(src, AggValueSlot::IsDestructed,
  350                             needsGC(type), AggValueSlot::IsAliased,
  351                             AggValueSlot::MayOverlap);
  359 void AggExprEmitter::EmitCopy(QualType type, const AggValueSlot &dest,
  360                               const AggValueSlot &src) {
  411   AggValueSlot Dest = EnsureSlot(E->getType());
  661   AggValueSlot Slot = EnsureSlot(E->getType());
  703       CGF.EmitAnyExpr(E->getSubExpr(), AggValueSlot::ignored(),
  719       CGF.EmitAnyExpr(E->getSubExpr(), AggValueSlot::ignored(),
  776       AggValueSlot valueDest = Dest;
  786         valueDest = AggValueSlot::forAddr(valueAddr,
  791                                           AggValueSlot::DoesNotOverlap,
  792                                           AggValueSlot::IsZeroed);
  801     AggValueSlot atomicSlot =
 1166              AggValueSlot::forLValue(LHS, AggValueSlot::IsDestructed,
 1166              AggValueSlot::forLValue(LHS, AggValueSlot::IsDestructed,
 1168                                      AggValueSlot::IsAliased,
 1169                                      AggValueSlot::MayOverlap),
 1187   AggValueSlot LHSSlot =
 1188     AggValueSlot::forLValue(LHS, AggValueSlot::IsDestructed,
 1188     AggValueSlot::forLValue(LHS, AggValueSlot::IsDestructed,
 1190                             AggValueSlot::IsAliased,
 1191                             AggValueSlot::MayOverlap);
 1277   AggValueSlot Slot = EnsureSlot(E->getType());
 1283   AggValueSlot Slot = EnsureSlot(E->getType());
 1291   AggValueSlot Slot = EnsureSlot(E->getType());
 1348   AggValueSlot Slot = EnsureSlot(T);
 1354   AggValueSlot Slot = EnsureSlot(T);
 1411     CGF.EmitAggExpr(E, AggValueSlot::forLValue(LV,
 1412                                                AggValueSlot::IsDestructed,
 1413                                       AggValueSlot::DoesNotNeedGCBarriers,
 1414                                                AggValueSlot::IsNotAliased,
 1415                                                AggValueSlot::MayOverlap,
 1477   AggValueSlot Dest = EnsureSlot(E->getType());
 1521       AggValueSlot AggSlot = AggValueSlot::forAddr(
 1521       AggValueSlot AggSlot = AggValueSlot::forAddr(
 1523           AggValueSlot::IsDestructed,
 1524           AggValueSlot::DoesNotNeedGCBarriers,
 1525           AggValueSlot::IsNotAliased,
 1701       auto elementSlot = AggValueSlot::forLValue(
 1701       auto elementSlot = AggValueSlot::forLValue(
 1702           elementLV, AggValueSlot::IsDestructed,
 1703           AggValueSlot::DoesNotNeedGCBarriers,
 1704           AggValueSlot::IsNotAliased,
 1705           AggValueSlot::DoesNotOverlap);
 1732   AggValueSlot Dest = EnsureSlot(E->getType());
 1806 static void CheckAggExprForMemSetUse(AggValueSlot &Slot, const Expr *E,
 1851 void CodeGenFunction::EmitAggExpr(const Expr *E, AggValueSlot Slot) {
 1867   EmitAggExpr(E, AggValueSlot::forLValue(LV, AggValueSlot::IsNotDestructed,
 1867   EmitAggExpr(E, AggValueSlot::forLValue(LV, AggValueSlot::IsNotDestructed,
 1868                                          AggValueSlot::DoesNotNeedGCBarriers,
 1869                                          AggValueSlot::IsNotAliased,
 1870                                          AggValueSlot::DoesNotOverlap));
 1874 AggValueSlot::Overlap_t
 1877     return AggValueSlot::DoesNotOverlap;
 1887     return AggValueSlot::DoesNotOverlap;
 1890   return AggValueSlot::MayOverlap;
 1893 AggValueSlot::Overlap_t CodeGenFunction::getOverlapForBaseInit(
 1899     return AggValueSlot::MayOverlap;
 1908     return AggValueSlot::DoesNotOverlap;
 1911   return AggValueSlot::MayOverlap;
 1915                                         AggValueSlot::Overlap_t MayOverlap,
tools/clang/lib/CodeGen/CGExprCXX.cpp
  279                            AggValueSlot::DoesNotOverlap, CE->getExprLoc(),
  567                                       AggValueSlot Dest) {
  937                                     AggValueSlot::Overlap_t MayOverlap) {
  949     AggValueSlot Slot
  950       = AggValueSlot::forAddr(NewPtr, AllocType.getQualifiers(),
  951                               AggValueSlot::IsDestructed,
  952                               AggValueSlot::DoesNotNeedGCBarriers,
  953                               AggValueSlot::IsNotAliased,
  954                               MayOverlap, AggValueSlot::IsNotZeroed,
  955                               AggValueSlot::IsSanitizerChecked);
 1020       AggValueSlot Slot =
 1021           AggValueSlot::forAddr(CurPtr, ElementType.getQualifiers(),
 1022                                 AggValueSlot::IsDestructed,
 1023                                 AggValueSlot::DoesNotNeedGCBarriers,
 1024                                 AggValueSlot::IsNotAliased,
 1025                                 AggValueSlot::DoesNotOverlap,
 1026                                 AggValueSlot::IsNotZeroed,
 1027                                 AggValueSlot::IsSanitizerChecked);
 1093                               AggValueSlot::DoesNotOverlap);
 1248                           AggValueSlot::DoesNotOverlap);
 1280                             AggValueSlot::DoesNotOverlap);
tools/clang/lib/CodeGen/CGObjC.cpp
 1587                   AggValueSlot::forLValue(LV, AggValueSlot::IsDestructed,
 1587                   AggValueSlot::forLValue(LV, AggValueSlot::IsDestructed,
 1588                                           AggValueSlot::DoesNotNeedGCBarriers,
 1589                                           AggValueSlot::IsNotAliased,
 1590                                           AggValueSlot::DoesNotOverlap));
 3659               AggValueSlot::forAddr(Address(DV.getScalarVal(), Alignment),
 3661                                     AggValueSlot::IsDestructed,
 3662                                     AggValueSlot::DoesNotNeedGCBarriers,
 3663                                     AggValueSlot::IsNotAliased,
 3664                                     AggValueSlot::DoesNotOverlap));
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
 5132     CGF.EmitAggregateCopy(Dest, Src, SharedsTy, AggValueSlot::DoesNotOverlap);
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
 3105             Private->getType(), AggValueSlot::DoesNotOverlap);
 3707                             Private->getType(), AggValueSlot::DoesNotOverlap);
 3907                             AggValueSlot::DoesNotOverlap);
tools/clang/lib/CodeGen/CGStmt.cpp
  380                                           AggValueSlot AggSlot) {
  393                                               AggValueSlot AggSlot) {
 1119       EmitAggExpr(RV, AggValueSlot::forAddr(
 1121                           AggValueSlot::IsDestructed,
 1122                           AggValueSlot::DoesNotNeedGCBarriers,
 1123                           AggValueSlot::IsNotAliased,
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
 1681     RValue Len = CGF.EmitAnyExpr(C->getSimdlen(), AggValueSlot::ignored(),
 1691     RValue Len = CGF.EmitAnyExpr(C->getSafelen(), AggValueSlot::ignored(),
tools/clang/lib/CodeGen/CGValue.h
  498   static AggValueSlot ignored() {
  513   static AggValueSlot forAddr(Address addr,
  521     AggValueSlot AV;
  539   static AggValueSlot forLValue(const LValue &LV,
tools/clang/lib/CodeGen/CodeGenFunction.h
 2257   AggValueSlot CreateAggTemp(QualType T, const Twine &Name = "tmp") {
 2258     return AggValueSlot::forAddr(CreateMemTemp(T, Name),
 2260                                  AggValueSlot::IsNotDestructed,
 2261                                  AggValueSlot::DoesNotNeedGCBarriers,
 2262                                  AggValueSlot::IsNotAliased,
 2263                                  AggValueSlot::DoesNotOverlap);
 2283                      AggValueSlot aggSlot = AggValueSlot::ignored(),
 2283                      AggValueSlot aggSlot = AggValueSlot::ignored(),
 2322   AggValueSlot::Overlap_t getOverlapForReturnValue() {
 2326     return AggValueSlot::DoesNotOverlap;
 2330   AggValueSlot::Overlap_t getOverlapForFieldInit(const FieldDecl *FD);
 2334   AggValueSlot::Overlap_t getOverlapForBaseInit(const CXXRecordDecl *RD,
 2341     EmitAggregateCopy(Dest, Src, EltTy, AggValueSlot::MayOverlap, IsVolatile);
 2345                              AggValueSlot::Overlap_t MayOverlap) {
 2357                          AggValueSlot::Overlap_t MayOverlap,
 2522                               AggValueSlot ThisAVS, const CXXConstructExpr *E);
 2527                               AggValueSlot::Overlap_t Overlap,
 2860                            AggValueSlot AVS = AggValueSlot::ignored());
 2860                            AggValueSlot AVS = AggValueSlot::ignored());
 2863                                        AggValueSlot AVS =
 2864                                                 AggValueSlot::ignored());
 2900                          AggValueSlot aggSlot = AggValueSlot::ignored(),
 2900                          AggValueSlot aggSlot = AggValueSlot::ignored(),
 2904                          AggValueSlot aggSlot = AggValueSlot::ignored(),
 2904                          AggValueSlot aggSlot = AggValueSlot::ignored(),
 3380                         AggValueSlot Slot = AggValueSlot::ignored());
 3380                         AggValueSlot Slot = AggValueSlot::ignored());
 3384                         AggValueSlot slot = AggValueSlot::ignored());
 3384                         AggValueSlot slot = AggValueSlot::ignored());
 3397       bool IsWeak = false, AggValueSlot Slot = AggValueSlot::ignored());
 3397       bool IsWeak = false, AggValueSlot Slot = AggValueSlot::ignored());
 3562                                 AggValueSlot slot = AggValueSlot::ignored());
 3562                                 AggValueSlot slot = AggValueSlot::ignored());
 3903   void EmitAggExpr(const Expr *E, AggValueSlot AS);
 3994   void EmitCXXConstructExpr(const CXXConstructExpr *E, AggValueSlot Dest);
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
 4227     CGF.EmitAggregateCopy(Dest, Src, CatchType, AggValueSlot::DoesNotOverlap);
 4251                   AggValueSlot::forAddr(ParamAddr, Qualifiers(),
 4252                                         AggValueSlot::IsNotDestructed,
 4253                                         AggValueSlot::DoesNotNeedGCBarriers,
 4254                                         AggValueSlot::IsNotAliased,
 4255                                         AggValueSlot::DoesNotOverlap));