Lines Matching defs:lvalue
439 ComplexPairTy ComplexExprEmitter::EmitLoadOfLValue(LValue lvalue,
441 assert(lvalue.isSimple() && "non-simple complex l-value?");
442 if (lvalue.getType()->isAtomicType())
443 return CGF.EmitAtomicLoad(lvalue, loc).getComplexVal();
445 Address SrcPtr = lvalue.getAddress();
446 bool isVolatile = lvalue.isVolatileQualified();
451 Address RealP = CGF.emitAddrOfRealComponent(SrcPtr, lvalue.getType());
456 Address ImagP = CGF.emitAddrOfImagComponent(SrcPtr, lvalue.getType());
465 void ComplexExprEmitter::EmitStoreOfComplex(ComplexPairTy Val, LValue lvalue,
467 if (lvalue.getType()->isAtomicType() ||
468 (!isInit && CGF.LValueIsSuitableForInlineAtomic(lvalue)))
469 return CGF.EmitAtomicStore(RValue::getComplex(Val), lvalue, isInit);
471 Address Ptr = lvalue.getAddress();
472 Address RealPtr = CGF.emitAddrOfRealComponent(Ptr, lvalue.getType());
473 Address ImagPtr = CGF.emitAddrOfImagComponent(Ptr, lvalue.getType());
475 Builder.CreateStore(Val.first, RealPtr, lvalue.isVolatileQualified());
476 Builder.CreateStore(Val.second, ImagPtr, lvalue.isVolatileQualified());
1306 // Truncate the result and store it into the LHS lvalue.
1333 // If the lvalue is non-volatile, return the computed value of the assignment.
1354 // Store the result value into the LHS lvalue.
1368 // If the lvalue is non-volatile, return the computed value of the assignment.