Lines Matching refs:RV
1149 void CodeGenFunction::EmitReturnOfRValue(RValue RV, QualType Ty) { in EmitReturnOfRValue() argument
1150 if (RV.isScalar()) { in EmitReturnOfRValue()
1151 Builder.CreateStore(RV.getScalarVal(), ReturnValue); in EmitReturnOfRValue()
1152 } else if (RV.isAggregate()) { in EmitReturnOfRValue()
1154 LValue Src = MakeAddrLValue(RV.getAggregateAddress(), Ty); in EmitReturnOfRValue()
1157 EmitStoreOfComplex(RV.getComplexVal(), MakeAddrLValue(ReturnValue, Ty), in EmitReturnOfRValue()
1199 const Expr *RV = S.getRetValue(); in EmitReturnStmt() local
1209 SaveRetExprRAII SaveRetExpr(RV, *this); in EmitReturnStmt()
1212 if (const auto *EWC = dyn_cast_or_null<ExprWithCleanups>(RV)) in EmitReturnStmt()
1213 RV = EWC->getSubExpr(); in EmitReturnStmt()
1231 } else if (!ReturnValue.isValid() || (RV && RV->getType()->isVoidType())) { in EmitReturnStmt()
1234 if (RV) in EmitReturnStmt()
1235 EmitAnyExpr(RV); in EmitReturnStmt()
1236 } else if (!RV) { in EmitReturnStmt()
1241 RValue Result = EmitReferenceBindingToExpr(RV); in EmitReturnStmt()
1244 switch (getEvaluationKind(RV->getType())) { in EmitReturnStmt()
1246 Builder.CreateStore(EmitScalarExpr(RV), ReturnValue); in EmitReturnStmt()
1249 EmitComplexExprIntoLValue(RV, MakeAddrLValue(ReturnValue, RV->getType()), in EmitReturnStmt()
1253 EmitAggExpr(RV, AggValueSlot::forAddr( in EmitReturnStmt()
1264 if (!RV || RV->isEvaluatable(getContext())) in EmitReturnStmt()