Lines Matching defs:RV
1224 void CodeGenFunction::EmitReturnOfRValue(RValue RV, QualType Ty) {
1225 if (RV.isScalar()) {
1226 Builder.CreateStore(RV.getScalarVal(), ReturnValue);
1227 } else if (RV.isAggregate()) {
1229 LValue Src = MakeAddrLValue(RV.getAggregateAddress(), Ty);
1232 EmitStoreOfComplex(RV.getComplexVal(), MakeAddrLValue(ReturnValue, Ty),
1306 const Expr *RV = S.getRetValue();
1316 SaveRetExprRAII SaveRetExpr(RV, *this);
1319 if (const auto *EWC = dyn_cast_or_null<ExprWithCleanups>(RV))
1320 RV = EWC->getSubExpr();
1338 } else if (!ReturnValue.isValid() || (RV && RV->getType()->isVoidType())) {
1341 if (RV) {
1342 EmitAnyExpr(RV);
1343 if (auto *CE = dyn_cast<CallExpr>(RV))
1346 } else if (!RV) {
1351 RValue Result = EmitReferenceBindingToExpr(RV);
1354 switch (getEvaluationKind(RV->getType())) {
1356 Builder.CreateStore(EmitScalarExpr(RV), ReturnValue);
1359 EmitComplexExprIntoLValue(RV, MakeAddrLValue(ReturnValue, RV->getType()),
1363 EmitAggExpr(RV, AggValueSlot::forAddr(
1374 if (!RV || RV->isEvaluatable(getContext()))