Lines Matching full:rvalue
136 /// can have any type. The result is returned as an RValue struct.
139 RValue CodeGenFunction::EmitAnyExpr(const Expr *E,
144 return RValue::get(EmitScalarExpr(E, ignoreResult));
146 return RValue::getComplex(EmitComplexExpr(E, ignoreResult, ignoreResult));
158 RValue CodeGenFunction::EmitAnyExprToTemp(const Expr *E) {
188 RValue RV = RValue::get(EmitScalarExpr(E, /*Ignore*/ false));
459 RValue
476 return RValue::get(Value);
877 RValue CodeGenFunction::GetUndefRValue(QualType Ty) {
879 return RValue::get(nullptr);
886 return RValue::getComplex(std::make_pair(U, U));
894 return RValue::getAggregate(DestPtr);
898 return RValue::get(llvm::UndefValue::get(ConvertType(Ty)));
903 RValue CodeGenFunction::EmitUnsupportedRValue(const Expr *E,
1381 EmitAtomicStore(RValue::get(Value),
1413 /// method emits the address of the lvalue, then loads the result as an rvalue,
1414 /// returning the rvalue.
1415 RValue CodeGenFunction::EmitLoadOfLValue(LValue LV, SourceLocation Loc) {
1419 return RValue::get(CGM.getObjCRuntime().EmitObjCWeakRead(*this,
1425 return RValue::get(EmitARCLoadWeak(LV.getAddress()));
1431 return RValue::get(Object);
1438 return RValue::get(EmitLoadOfScalar(LV, Loc));
1444 return RValue::get(Builder.CreateExtractElement(Load, LV.getVectorIdx(),
1461 RValue CodeGenFunction::EmitLoadOfBitfieldLValue(LValue LV) {
1487 return RValue::get(Val);
1492 RValue CodeGenFunction::EmitLoadOfExtVectorElementLValue(LValue LV) {
1504 return RValue::get(Builder.CreateExtractElement(Vec, Elt));
1517 return RValue::get(Vec);
1543 RValue CodeGenFunction::EmitLoadOfGlobalRegLValue(LValue LV) {
1561 return RValue::get(Call);
1565 /// EmitStoreThroughLValue - Store the specified rvalue into the specified
1568 void CodeGenFunction::EmitStoreThroughLValue(RValue Src, LValue Dst,
1613 Src = RValue::get(EmitObjCExtendObjectLifetime(Dst.getType(),
1657 void CodeGenFunction::EmitStoreThroughBitfieldLValue(RValue Src, LValue Dst,
1724 void CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(RValue Src,
1796 void CodeGenFunction::EmitStoreThroughGlobalRegLValue(RValue Src, LValue Dst) {
2206 // __imag can only produce an rvalue on scalars.
2996 // Otherwise, the base is a normal rvalue (as in (V+V).x), emit it as such.
3499 RValue CodeGenFunction::EmitRValueForField(LValue LV,
3506 return RValue::getComplex(EmitLoadOfComplex(FieldLV, Loc));
3519 RValue CodeGenFunction::EmitCallExpr(const CallExpr *E,
3589 return RValue::get(nullptr);
3630 RValue RV = EmitAnyExpr(E->getRHS());
3646 RValue RV = EmitCallExpr(E);
3707 RValue RV = EmitObjCMessageExpr(E);
3765 RValue RV = EmitAnyExprToTemp(E);
3770 RValue CodeGenFunction::EmitCall(QualType CalleeType, llvm::Value *Callee,
3877 Args.add(RValue::get(Builder.CreateBitCast(Chain, CGM.VoidPtrTy)),
3939 RValue CodeGenFunction::convertTempToRValue(Address addr,
3945 return RValue::getComplex(EmitLoadOfComplex(lvalue, loc));
3949 return RValue::get(EmitLoadOfScalar(lvalue, loc));
3968 RValue RV;
4039 RValue CodeGenFunction::EmitPseudoObjectRValue(const PseudoObjectExpr *E,