Lines Matching refs:lvalue
439 ComplexPairTy ComplexExprEmitter::EmitLoadOfLValue(LValue lvalue, in EmitLoadOfLValue() argument
441 assert(lvalue.isSimple() && "non-simple complex l-value?"); in EmitLoadOfLValue()
442 if (lvalue.getType()->isAtomicType()) in EmitLoadOfLValue()
443 return CGF.EmitAtomicLoad(lvalue, loc).getComplexVal(); in EmitLoadOfLValue()
445 Address SrcPtr = lvalue.getAddress(); in EmitLoadOfLValue()
446 bool isVolatile = lvalue.isVolatileQualified(); in EmitLoadOfLValue()
451 Address RealP = CGF.emitAddrOfRealComponent(SrcPtr, lvalue.getType()); in EmitLoadOfLValue()
456 Address ImagP = CGF.emitAddrOfImagComponent(SrcPtr, lvalue.getType()); in EmitLoadOfLValue()
465 void ComplexExprEmitter::EmitStoreOfComplex(ComplexPairTy Val, LValue lvalue, in EmitStoreOfComplex() argument
467 if (lvalue.getType()->isAtomicType() || in EmitStoreOfComplex()
468 (!isInit && CGF.LValueIsSuitableForInlineAtomic(lvalue))) in EmitStoreOfComplex()
469 return CGF.EmitAtomicStore(RValue::getComplex(Val), lvalue, isInit); in EmitStoreOfComplex()
471 Address Ptr = lvalue.getAddress(); in EmitStoreOfComplex()
472 Address RealPtr = CGF.emitAddrOfRealComponent(Ptr, lvalue.getType()); in EmitStoreOfComplex()
473 Address ImagPtr = CGF.emitAddrOfImagComponent(Ptr, lvalue.getType()); in EmitStoreOfComplex()
475 Builder.CreateStore(Val.first, RealPtr, lvalue.isVolatileQualified()); in EmitStoreOfComplex()
476 Builder.CreateStore(Val.second, ImagPtr, lvalue.isVolatileQualified()); in EmitStoreOfComplex()