Lines Matching refs:SubExpr
179 const Expr *SubExpr = CE->getSubExpr(); in VisitCastExpr() local
184 return this->discard(SubExpr); in VisitCastExpr()
186 std::optional<PrimType> SubExprT = classify(SubExpr->getType()); in VisitCastExpr()
189 std::optional<unsigned> LocalIndex = allocateLocal(SubExpr); in VisitCastExpr()
196 if (!this->visit(SubExpr)) in VisitCastExpr()
210 assert(classifyPrim(SubExpr->getType()) == PT_MemberPtr); in VisitCastExpr()
211 const auto *FromMP = SubExpr->getType()->getAs<MemberPointerType>(); in VisitCastExpr()
217 if (!this->visit(SubExpr)) in VisitCastExpr()
225 assert(classifyPrim(SubExpr) == PT_MemberPtr); in VisitCastExpr()
226 const auto *FromMP = SubExpr->getType()->getAs<MemberPointerType>(); in VisitCastExpr()
232 if (!this->visit(SubExpr)) in VisitCastExpr()
239 if (!this->visit(SubExpr)) in VisitCastExpr()
250 QualType CurType = SubExpr->getType(); in VisitCastExpr()
268 if (!this->visit(SubExpr)) in VisitCastExpr()
272 collectBaseOffset(SubExpr->getType(), CE->getType()); in VisitCastExpr()
279 if (!SubExpr->getType()->isFloatingType() || in VisitCastExpr()
283 return this->discard(SubExpr); in VisitCastExpr()
284 if (!this->visit(SubExpr)) in VisitCastExpr()
292 return this->discard(SubExpr); in VisitCastExpr()
293 std::optional<PrimType> FromT = classify(SubExpr->getType()); in VisitCastExpr()
297 if (!this->visit(SubExpr)) in VisitCastExpr()
308 return this->discard(SubExpr); in VisitCastExpr()
315 if (!this->visit(SubExpr)) in VisitCastExpr()
337 Desc = P.createDescriptor(SubExpr, *T); in VisitCastExpr()
344 return this->discard(SubExpr); in VisitCastExpr()
346 if (!this->visit(SubExpr)) in VisitCastExpr()
350 if (PrimType FromT = classifyPrim(SubExpr->getType()); FromT != PT_Ptr) { in VisitCastExpr()
367 if (!this->visit(SubExpr)) in VisitCastExpr()
377 QualType IntType = SubExpr->getType(); in VisitCastExpr()
379 if (!this->visit(SubExpr)) in VisitCastExpr()
392 Desc = P.createDescriptor(SubExpr, *T); in VisitCastExpr()
418 return this->delegate(SubExpr); in VisitCastExpr()
423 if (!this->discard(SubExpr)) in VisitCastExpr()
429 return this->discard(SubExpr); in VisitCastExpr()
431 QualType SubExprTy = SubExpr->getType(); in VisitCastExpr()
441 return this->delegate(SubExpr); in VisitCastExpr()
443 if (!this->visit(SubExpr)) in VisitCastExpr()
450 if (!this->visit(SubExpr)) in VisitCastExpr()
459 return this->discard(SubExpr); in VisitCastExpr()
460 std::optional<PrimType> FromT = classify(SubExpr->getType()); in VisitCastExpr()
466 if (!this->visit(SubExpr)) in VisitCastExpr()
496 PrimType PtrT = classifyPrim(SubExpr->getType()); in VisitCastExpr()
499 if (!this->visit(SubExpr)) in VisitCastExpr()
511 return this->discard(SubExpr); in VisitCastExpr()
512 if (!this->visit(SubExpr)) in VisitCastExpr()
514 return this->emitComplexBoolCast(SubExpr); in VisitCastExpr()
519 return this->emitComplexReal(SubExpr); in VisitCastExpr()
534 if (!this->visitArrayElemInit(0, SubExpr)) in VisitCastExpr()
537 PrimType T = classifyPrim(SubExpr->getType()); in VisitCastExpr()
538 if (!this->visitZeroInitializer(T, SubExpr->getType(), SubExpr)) in VisitCastExpr()
540 return this->emitInitElem(T, 1, SubExpr); in VisitCastExpr()
548 assert(SubExpr->getType()->isAnyComplexType()); in VisitCastExpr()
550 return this->discard(SubExpr); in VisitCastExpr()
564 SubExpr, PT_Ptr, /*IsConst=*/true, /*IsExtended=*/false); in VisitCastExpr()
565 if (!this->visit(SubExpr)) in VisitCastExpr()
570 PrimType SourceElemT = classifyComplexElementType(SubExpr->getType()); in VisitCastExpr()
594 assert(classify(SubExpr->getType())); in VisitCastExpr()
598 return this->discard(SubExpr); in VisitCastExpr()
609 PrimType ElemT = classifyPrim(SubExpr->getType()); in VisitCastExpr()
611 SubExpr, ElemT, /*IsConst=*/true, /*IsExtended=*/false); in VisitCastExpr()
614 if (!this->visit(SubExpr)) in VisitCastExpr()
616 if (classifyPrim(SubExpr) == PT_Ptr && !this->emitLoadPop(ElemT, CE)) in VisitCastExpr()
633 return discard(SubExpr); in VisitCastExpr()
671 const Expr *SubExpr = E->getSubExpr(); in VisitImaginaryLiteral() local
672 PrimType SubExprT = classifyPrim(SubExpr->getType()); in VisitImaginaryLiteral()
674 if (!this->visitZeroInitializer(SubExprT, SubExpr->getType(), SubExpr)) in VisitImaginaryLiteral()
676 if (!this->emitInitElem(SubExprT, 0, SubExpr)) in VisitImaginaryLiteral()
678 return this->visitArrayElemInit(1, SubExpr); in VisitImaginaryLiteral()
1795 const Expr *SubExpr = E->getSubExpr(); in VisitArrayInitLoopExpr() local
1805 if (!this->visitArrayElemInit(I, SubExpr)) in VisitArrayInitLoopExpr()
2220 const Expr *SubExpr = E->getSubExpr(); in VisitExprWithCleanups() local
2224 return this->delegate(SubExpr) && ES.destroyLocals(); in VisitExprWithCleanups()
2230 const Expr *SubExpr = E->getSubExpr(); in VisitMaterializeTemporaryExpr() local
2234 return this->delegate(SubExpr); in VisitMaterializeTemporaryExpr()
2239 return this->discard(SubExpr); in VisitMaterializeTemporaryExpr()
2243 std::optional<PrimType> SubExprT = classify(SubExpr); in VisitMaterializeTemporaryExpr()
2256 if (!this->visit(SubExpr)) in VisitMaterializeTemporaryExpr()
2271 if (!this->visitInitializer(SubExpr)) in VisitMaterializeTemporaryExpr()
2281 SubExpr, *SubExprT, /*IsConst=*/true, /*IsExtended=*/true); in VisitMaterializeTemporaryExpr()
2282 if (!this->visit(SubExpr)) in VisitMaterializeTemporaryExpr()
2294 return this->visitInitializer(SubExpr); in VisitMaterializeTemporaryExpr()
3152 const Expr *SubExpr = E->getSubExpr(); in VisitCXXStdInitializerListExpr() local
3154 Ctx.getASTContext().getAsConstantArrayType(SubExpr->getType()); in VisitCXXStdInitializerListExpr()
3157 assert(SubExpr->isGLValue()); in VisitCXXStdInitializerListExpr()
3159 if (!this->visit(SubExpr)) in VisitCXXStdInitializerListExpr()
4098 const Expr *SubExpr = E->getExpr(); in VisitCXXDefaultArgExpr() local
4100 return this->visit(SubExpr); in VisitCXXDefaultArgExpr()
4103 return this->visitInitializer(SubExpr); in VisitCXXDefaultArgExpr()
4819 const Expr *SubExpr = E->getSubExpr(); in VisitUnaryOperator() local
4820 if (SubExpr->getType()->isAnyComplexType()) in VisitUnaryOperator()
4822 std::optional<PrimType> T = classify(SubExpr->getType()); in VisitUnaryOperator()
4831 if (!this->visit(SubExpr)) in VisitUnaryOperator()
4854 if (!this->visit(SubExpr)) in VisitUnaryOperator()
4877 if (!this->visit(SubExpr)) in VisitUnaryOperator()
4926 if (!this->visit(SubExpr)) in VisitUnaryOperator()
4974 return this->discard(SubExpr); in VisitUnaryOperator()
4976 if (!this->visitBool(SubExpr)) in VisitUnaryOperator()
4989 if (!this->visit(SubExpr)) in VisitUnaryOperator()
4996 if (!this->visit(SubExpr)) // noop in VisitUnaryOperator()
5003 return this->emitGetMemberPtr(cast<DeclRefExpr>(SubExpr)->getDecl(), E); in VisitUnaryOperator()
5006 return this->delegate(SubExpr); in VisitUnaryOperator()
5009 return this->discard(SubExpr); in VisitUnaryOperator()
5010 return this->visit(SubExpr); in VisitUnaryOperator()
5015 if (!this->visit(SubExpr)) in VisitUnaryOperator()
5020 return this->delegate(SubExpr); in VisitUnaryOperator()
5023 if (!this->discard(SubExpr)) in VisitUnaryOperator()
5025 return this->visitZeroInitializer(*T, SubExpr->getType(), SubExpr); in VisitUnaryOperator()
5028 return this->delegate(SubExpr); in VisitUnaryOperator()
5038 const Expr *SubExpr = E->getSubExpr(); in VisitComplexUnaryOperator() local
5039 assert(SubExpr->getType()->isAnyComplexType()); in VisitComplexUnaryOperator()
5042 return this->discard(SubExpr); in VisitComplexUnaryOperator()
5047 std::optional<unsigned> LocalIndex = allocateLocal(SubExpr); in VisitComplexUnaryOperator()
5059 SubExprOffset = this->allocateLocalPrimitive(SubExpr, PT_Ptr, true, false); in VisitComplexUnaryOperator()
5060 if (!this->visit(SubExpr)) in VisitComplexUnaryOperator()
5065 PrimType ElemT = classifyComplexElementType(SubExpr->getType()); in VisitComplexUnaryOperator()
5091 return this->delegate(SubExpr); in VisitComplexUnaryOperator()
5094 if (!this->visit(SubExpr)) in VisitComplexUnaryOperator()
5096 if (!this->emitComplexBoolCast(SubExpr)) in VisitComplexUnaryOperator()
5105 return this->emitComplexReal(SubExpr); in VisitComplexUnaryOperator()
5108 if (!this->visit(SubExpr)) in VisitComplexUnaryOperator()
5111 if (SubExpr->isLValue()) { in VisitComplexUnaryOperator()
5122 if (!this->visit(SubExpr)) in VisitComplexUnaryOperator()
5134 return this->delegate(SubExpr); in VisitComplexUnaryOperator()
5340 bool Compiler<Emitter>::emitComplexReal(const Expr *SubExpr) { in emitComplexReal() argument
5341 assert(SubExpr->getType()->isAnyComplexType()); in emitComplexReal()
5344 return this->discard(SubExpr); in emitComplexReal()
5346 if (!this->visit(SubExpr)) in emitComplexReal()
5348 if (SubExpr->isLValue()) { in emitComplexReal()
5349 if (!this->emitConstUint8(0, SubExpr)) in emitComplexReal()
5351 return this->emitArrayElemPtrPopUint8(SubExpr); in emitComplexReal()
5355 return this->emitArrayElemPop(classifyComplexElementType(SubExpr->getType()), in emitComplexReal()
5356 0, SubExpr); in emitComplexReal()