Lines Matching refs:lvalue
318 ComplexPairTy ComplexExprEmitter::EmitLoadOfLValue(LValue lvalue,
320 assert(lvalue.isSimple() && "non-simple complex l-value?");
321 if (lvalue.getType()->isAtomicType())
322 return CGF.EmitAtomicLoad(lvalue, loc).getComplexVal();
324 Address SrcPtr = lvalue.getAddress();
325 bool isVolatile = lvalue.isVolatileQualified();
330 Address RealP = CGF.emitAddrOfRealComponent(SrcPtr, lvalue.getType());
335 Address ImagP = CGF.emitAddrOfImagComponent(SrcPtr, lvalue.getType());
344 void ComplexExprEmitter::EmitStoreOfComplex(ComplexPairTy Val, LValue lvalue,
346 if (lvalue.getType()->isAtomicType() ||
347 (!isInit && CGF.LValueIsSuitableForInlineAtomic(lvalue)))
348 return CGF.EmitAtomicStore(RValue::getComplex(Val), lvalue, isInit);
350 Address Ptr = lvalue.getAddress();
351 Address RealPtr = CGF.emitAddrOfRealComponent(Ptr, lvalue.getType());
352 Address ImagPtr = CGF.emitAddrOfImagComponent(Ptr, lvalue.getType());
354 Builder.CreateStore(Val.first, RealPtr, lvalue.isVolatileQualified());
355 Builder.CreateStore(Val.second, ImagPtr, lvalue.isVolatileQualified());
876 // Truncate the result and store it into the LHS lvalue.
903 // If the lvalue is non-volatile, return the computed value of the assignment.
924 // Store the result value into the LHS lvalue.
938 // If the lvalue is non-volatile, return the computed value of the assignment.