Lines Matching refs:lvalue
376 ComplexPairTy ComplexExprEmitter::EmitLoadOfLValue(LValue lvalue, in EmitLoadOfLValue() argument
378 assert(lvalue.isSimple() && "non-simple complex l-value?"); in EmitLoadOfLValue()
379 if (lvalue.getType()->isAtomicType()) in EmitLoadOfLValue()
380 return CGF.EmitAtomicLoad(lvalue, loc).getComplexVal(); in EmitLoadOfLValue()
382 Address SrcPtr = lvalue.getAddress(CGF); in EmitLoadOfLValue()
383 bool isVolatile = lvalue.isVolatileQualified(); in EmitLoadOfLValue()
388 Address RealP = CGF.emitAddrOfRealComponent(SrcPtr, lvalue.getType()); in EmitLoadOfLValue()
393 Address ImagP = CGF.emitAddrOfImagComponent(SrcPtr, lvalue.getType()); in EmitLoadOfLValue()
402 void ComplexExprEmitter::EmitStoreOfComplex(ComplexPairTy Val, LValue lvalue, in EmitStoreOfComplex() argument
404 if (lvalue.getType()->isAtomicType() || in EmitStoreOfComplex()
405 (!isInit && CGF.LValueIsSuitableForInlineAtomic(lvalue))) in EmitStoreOfComplex()
406 return CGF.EmitAtomicStore(RValue::getComplex(Val), lvalue, isInit); in EmitStoreOfComplex()
408 Address Ptr = lvalue.getAddress(CGF); in EmitStoreOfComplex()
409 Address RealPtr = CGF.emitAddrOfRealComponent(Ptr, lvalue.getType()); in EmitStoreOfComplex()
410 Address ImagPtr = CGF.emitAddrOfImagComponent(Ptr, lvalue.getType()); in EmitStoreOfComplex()
412 Builder.CreateStore(Val.first, RealPtr, lvalue.isVolatileQualified()); in EmitStoreOfComplex()
413 Builder.CreateStore(Val.second, ImagPtr, lvalue.isVolatileQualified()); in EmitStoreOfComplex()