Lines Matching refs:lvalue
349 ComplexPairTy ComplexExprEmitter::EmitLoadOfLValue(LValue lvalue, in EmitLoadOfLValue() argument
351 assert(lvalue.isSimple() && "non-simple complex l-value?"); in EmitLoadOfLValue()
352 if (lvalue.getType()->isAtomicType()) in EmitLoadOfLValue()
353 return CGF.EmitAtomicLoad(lvalue, loc).getComplexVal(); in EmitLoadOfLValue()
355 Address SrcPtr = lvalue.getAddress(CGF); in EmitLoadOfLValue()
356 bool isVolatile = lvalue.isVolatileQualified(); in EmitLoadOfLValue()
361 Address RealP = CGF.emitAddrOfRealComponent(SrcPtr, lvalue.getType()); in EmitLoadOfLValue()
366 Address ImagP = CGF.emitAddrOfImagComponent(SrcPtr, lvalue.getType()); in EmitLoadOfLValue()
375 void ComplexExprEmitter::EmitStoreOfComplex(ComplexPairTy Val, LValue lvalue, in EmitStoreOfComplex() argument
377 if (lvalue.getType()->isAtomicType() || in EmitStoreOfComplex()
378 (!isInit && CGF.LValueIsSuitableForInlineAtomic(lvalue))) in EmitStoreOfComplex()
379 return CGF.EmitAtomicStore(RValue::getComplex(Val), lvalue, isInit); in EmitStoreOfComplex()
381 Address Ptr = lvalue.getAddress(CGF); in EmitStoreOfComplex()
382 Address RealPtr = CGF.emitAddrOfRealComponent(Ptr, lvalue.getType()); in EmitStoreOfComplex()
383 Address ImagPtr = CGF.emitAddrOfImagComponent(Ptr, lvalue.getType()); in EmitStoreOfComplex()
385 Builder.CreateStore(Val.first, RealPtr, lvalue.isVolatileQualified()); in EmitStoreOfComplex()
386 Builder.CreateStore(Val.second, ImagPtr, lvalue.isVolatileQualified()); in EmitStoreOfComplex()