Lines Matching refs:RV
1243 void CodeGenFunction::EmitReturnOfRValue(RValue RV, QualType Ty) { in EmitReturnOfRValue() argument
1244 if (RV.isScalar()) { in EmitReturnOfRValue()
1245 Builder.CreateStore(RV.getScalarVal(), ReturnValue); in EmitReturnOfRValue()
1246 } else if (RV.isAggregate()) { in EmitReturnOfRValue()
1248 LValue Src = MakeAddrLValue(RV.getAggregateAddress(), Ty); in EmitReturnOfRValue()
1251 EmitStoreOfComplex(RV.getComplexVal(), MakeAddrLValue(ReturnValue, Ty), in EmitReturnOfRValue()
1324 const Expr *RV = S.getRetValue(); in EmitReturnStmt() local
1334 SaveRetExprRAII SaveRetExpr(RV, *this); in EmitReturnStmt()
1337 if (const auto *EWC = dyn_cast_or_null<ExprWithCleanups>(RV)) in EmitReturnStmt()
1338 RV = EWC->getSubExpr(); in EmitReturnStmt()
1356 } else if (!ReturnValue.isValid() || (RV && RV->getType()->isVoidType())) { in EmitReturnStmt()
1359 if (RV) { in EmitReturnStmt()
1360 EmitAnyExpr(RV); in EmitReturnStmt()
1361 if (auto *CE = dyn_cast<CallExpr>(RV)) in EmitReturnStmt()
1364 } else if (!RV) { in EmitReturnStmt()
1369 RValue Result = EmitReferenceBindingToExpr(RV); in EmitReturnStmt()
1372 switch (getEvaluationKind(RV->getType())) { in EmitReturnStmt()
1374 Builder.CreateStore(EmitScalarExpr(RV), ReturnValue); in EmitReturnStmt()
1377 EmitComplexExprIntoLValue(RV, MakeAddrLValue(ReturnValue, RV->getType()), in EmitReturnStmt()
1381 EmitAggExpr(RV, AggValueSlot::forAddr( in EmitReturnStmt()
1392 if (!RV || RV->isEvaluatable(getContext())) in EmitReturnStmt()