Lines Matching full:rvalue
106 /// can have any type. The result is returned as an RValue struct.
109 RValue CodeGenFunction::EmitAnyExpr(const Expr *E, AggValueSlot AggSlot,
112 return RValue::get(EmitScalarExpr(E, IgnoreResult));
114 return RValue::getComplex(EmitComplexExpr(E, IgnoreResult, IgnoreResult));
122 RValue CodeGenFunction::EmitAnyExprToTemp(const Expr *E) {
145 RValue RV = RValue::get(EmitScalarExpr(E, /*Ignore*/ false));
246 RValue RV;
442 RValue
453 return RValue::get(Value);
469 return RValue::get(Value);
507 return RValue::get(Value);
585 RValue CodeGenFunction::GetUndefRValue(QualType Ty) {
587 return RValue::get(0);
592 return RValue::getComplex(std::make_pair(U, U));
600 return RValue::getAggregate(DestPtr);
603 return RValue::get(llvm::UndefValue::get(ConvertType(Ty)));
606 RValue CodeGenFunction::EmitUnsupportedRValue(const Expr *E,
804 /// method emits the address of the lvalue, then loads the result as an rvalue,
805 /// returning the rvalue.
806 RValue CodeGenFunction::EmitLoadOfLValue(LValue LV) {
810 return RValue::get(CGM.getObjCRuntime().EmitObjCWeakRead(*this,
814 return RValue::get(EmitARCLoadWeak(LV.getAddress()));
820 return RValue::get(EmitLoadOfScalar(LV));
826 return RValue::get(Builder.CreateExtractElement(Vec, LV.getVectorIdx(),
842 RValue CodeGenFunction::EmitLoadOfBitfieldLValue(LValue LV) {
911 return RValue::get(Res);
916 RValue CodeGenFunction::EmitLoadOfExtVectorElementLValue(LValue LV) {
928 return RValue::get(Builder.CreateExtractElement(Vec, Elt));
943 return RValue::get(Vec);
948 /// EmitStoreThroughLValue - Store the specified rvalue into the specified
951 void CodeGenFunction::EmitStoreThroughLValue(RValue Src, LValue Dst) {
994 Src = RValue::get(EmitObjCExtendObjectLifetime(Dst.getType(),
1037 void CodeGenFunction::EmitStoreThroughBitfieldLValue(RValue Src, LValue Dst,
1142 void CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(RValue Src,
1735 // Otherwise, the base is a normal rvalue (as in (V+V).x), emit it as such.
2027 RValue RV = EmitLoadOfPropertyRefLValue(LV);
2080 // temporary realized from a (converted) pure rvalue. Emit the expression
2172 RValue RV = EmitReferenceBindingToExpr(E, /*InitializedDecl=*/0);
2181 RValue CodeGenFunction::EmitCallExpr(const CallExpr *E,
2257 return RValue::get(0);
2297 RValue RV = EmitAnyExpr(E->getRHS());
2310 RValue RV = EmitCallExpr(E);
2350 RValue RV = EmitObjCMessageExpr(E);
2408 RValue RV = EmitAnyExprToTemp(E);
2412 RValue CodeGenFunction::EmitCall(QualType CalleeType, llvm::Value *Callee,
2554 static RValue ConvertTempToRValue(CodeGenFunction &CGF, QualType Ty,
2557 return RValue::getComplex(CGF.LoadComplexFromAddr(Dest, false));
2559 return RValue::getAggregate(Dest);
2560 return RValue::get(CGF.EmitLoadOfScalar(CGF.MakeAddrLValue(Dest, Ty)));
2563 RValue CodeGenFunction::EmitAtomicExpr(AtomicExpr *E, llvm::Value *Dest) {
2626 Args.add(RValue::get(EmitCastToVoidPtr(Dest)),
2628 Args.add(RValue::get(EmitCastToVoidPtr(Ptr)),
2631 Args.add(RValue::get(EmitCastToVoidPtr(Val1)),
2634 Args.add(RValue::get(EmitCastToVoidPtr(Val2)),
2638 Args.add(RValue::get(llvm::ConstantInt::get(SizeTy, Size)),
2644 RValue Res = EmitCall(FuncInfo, Func, ReturnValueSlot(), Args);
2648 return RValue::get(0);
2690 return RValue::get(0);
2752 return RValue::get(0);