Lines Matching refs:LV

150     LValue LV = MakeAddrLValue(Location, E->getType());
151 EmitStoreThroughLValue(RV, LV);
256 LValue LV = CGF.EmitLValue(E);
258 if (LV.isSimple())
259 return LV.getAddress();
262 RV = CGF.EmitLoadOfLValue(LV);
402 LValue LV = CGF.MakeAddrLValue(Object, E->getType());
403 LV = CGF.EmitLValueForField(LV, Adjustment.Field);
404 if (LV.isSimple()) {
405 Object = LV.getAddress();
416 CGF.EmitStoreThroughLValue(CGF.EmitLoadOfLValue(LV), TempLV);
545 EmitComplexPrePostIncDec(const UnaryOperator *E, LValue LV,
547 ComplexPairTy InVal = LoadComplexFromAddr(LV.getAddress(),
548 LV.isVolatileQualified());
571 StoreComplexToAddr(IncVal, LV.getAddress(), LV.isVolatileQualified());
618 LValue LV = EmitLValue(E);
619 if (!isa<DeclRefExpr>(E) && !LV.isBitField() && LV.isSimple())
620 EmitCheck(LV.getAddress(),
622 return LV;
986 RValue CodeGenFunction::EmitLoadOfLValue(LValue LV) {
987 if (LV.isObjCWeak()) {
989 llvm::Value *AddrWeakObj = LV.getAddress();
993 if (LV.getQuals().getObjCLifetime() == Qualifiers::OCL_Weak)
994 return RValue::get(EmitARCLoadWeak(LV.getAddress()));
996 if (LV.isSimple()) {
997 assert(!LV.getType()->isFunctionType());
1000 return RValue::get(EmitLoadOfScalar(LV));
1003 if (LV.isVectorElt()) {
1004 llvm::LoadInst *Load = Builder.CreateLoad(LV.getVectorAddr(),
1005 LV.isVolatileQualified());
1006 Load->setAlignment(LV.getAlignment().getQuantity());
1007 return RValue::get(Builder.CreateExtractElement(Load, LV.getVectorIdx(),
1013 if (LV.isExtVectorElt())
1014 return EmitLoadOfExtVectorElementLValue(LV);
1016 assert(LV.isBitField() && "Unknown LValue type!");
1017 return EmitLoadOfBitfieldLValue(LV);
1020 RValue CodeGenFunction::EmitLoadOfBitfieldLValue(LValue LV) {
1021 const CGBitFieldInfo &Info = LV.getBitFieldInfo();
1024 llvm::Type *ResLTy = ConvertType(LV.getType());
1033 llvm::Value *Ptr = LV.getBitFieldBaseAddr();
1049 CGM.getContext().getTargetAddressSpace(LV.getType()));
1053 llvm::LoadInst *Load = Builder.CreateLoad(Ptr, LV.isVolatileQualified());
1093 RValue CodeGenFunction::EmitLoadOfExtVectorElementLValue(LValue LV) {
1094 llvm::LoadInst *Load = Builder.CreateLoad(LV.getExtVectorAddr(),
1095 LV.isVolatileQualified());
1096 Load->setAlignment(LV.getAlignment().getQuantity());
1099 const llvm::Constant *Elts = LV.getExtVectorElts();
1103 const VectorType *ExprVT = LV.getType()->getAs<VectorType>();
1392 LValue &LV,
1405 LV.setObjCIvar(false);
1409 LV.setObjCIvar(true);
1411 LV.setBaseIvarExp(Exp->getBase());
1412 LV.setObjCArray(E->getType()->isArrayType());
1419 LV.setGlobalObjCRef(true);
1420 LV.setThreadLocalRef(VD->isThreadSpecified());
1423 LV.setObjCArray(E->getType()->isArrayType());
1428 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess);
1433 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess);
1434 if (LV.isObjCIvar()) {
1441 LV.setObjCIvar(false);
1447 setObjCGCLValueClass(Ctx, Exp->getResultExpr(), LV);
1452 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess);
1457 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess);
1462 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess);
1467 setObjCGCLValueClass(Ctx, Exp->getBase(), LV);
1468 if (LV.isObjCIvar() && !LV.isObjCArray())
1471 LV.setObjCIvar(false);
1472 else if (LV.isGlobalObjCRef() && !LV.isObjCArray())
1475 LV.setGlobalObjCRef(false);
1480 setObjCGCLValueClass(Ctx, Exp->getBase(), LV, true);
1482 // only in the context of LV.isObjCIvar().
1483 LV.setObjCArray(E->getType()->isArrayType());
1506 LValue LV;
1511 LV = CGF.MakeNaturalAlignAddrLValue(V, T);
1513 LV = CGF.MakeAddrLValue(V, E->getType(), Alignment);
1515 setObjCGCLValueClass(CGF.getContext(), E, LV);
1516 return LV;
1591 LValue LV;
1596 LV = MakeNaturalAlignAddrLValue(V, T);
1598 LV = MakeAddrLValue(V, T, Alignment);
1602 LV.getQuals().removeObjCGCAttr();
1603 LV.setNonGC(true);
1605 setObjCGCLValueClass(getContext(), E, LV);
1606 return LV;
1627 LValue LV = MakeNaturalAlignAddrLValue(EmitScalarExpr(E->getSubExpr()), T);
1628 LV.getQuals().setAddressSpace(ExprTy.getAddressSpace());
1636 LV.isObjCWeak())
1637 LV.setNonGC(!E->isOBJCGCCandidate(getContext()));
1638 return LV;
1642 LValue LV = EmitLValue(E->getSubExpr());
1643 assert(LV.isSimple() && "real/imag on non-ordinary l-value");
1644 llvm::Value *Addr = LV.getAddress();
1652 return LV;
1658 return MakeAddrLValue(Builder.CreateStructGEP(LV.getAddress(),
1664 LValue LV = EmitLValue(E->getSubExpr());
1668 EmitComplexPrePostIncDec(E, LV, isInc, true/*isPre*/);
1670 EmitScalarPrePostIncDec(E, LV, isInc, true/*isPre*/);
1671 return LV;
1889 LValue LV;
1893 LV = MakeAddrLValue(Address, T, ArrayAlignment);
1895 LV = MakeNaturalAlignAddrLValue(Address, T);
1898 LV.getQuals().setAddressSpace(E->getBase()->getType().getAddressSpace());
1902 LV.setNonGC(!E->isOBJCGCCandidate(getContext()));
1903 setObjCGCLValueClass(getContext(), E, LV);
1905 return LV;
1985 LValue LV = EmitLValueForField(BaseLV, Field);
1986 setObjCGCLValueClass(getContext(), E, LV);
1987 return LV;
2021 LValue LV = EmitLValueForField(MakeAddrLValue(BaseValue, RecordTy),
2023 if (++I == IEnd) return LV;
2025 assert(LV.isSimple());
2026 BaseValue = LV.getAddress();
2027 CVRQualifiers |= LV.getVRQualifiers();
2095 LValue LV = MakeAddrLValue(addr, type, alignment);
2096 LV.getQuals().addCVRQualifiers(cvr);
2099 if (LV.getQuals().getObjCGCAttr() == Qualifiers::Weak)
2100 LV.getQuals().removeObjCGCAttr();
2105 if (mayAlias && LV.getTBAAInfo())
2106 LV.setTBAAInfo(CGM.getTBAAInfo(getContext().CharTy));
2108 return LV;
2289 LValue LV = EmitLValue(E->getSubExpr());
2290 llvm::Value *V = LV.getAddress();
2308 LValue LV = EmitLValue(E->getSubExpr());
2309 llvm::Value *This = LV.getAddress();
2326 LValue LV = EmitLValue(E->getSubExpr());
2330 GetAddressOfDerivedClass(LV.getAddress(), DerivedClassDecl,
2340 LValue LV = EmitLValue(E->getSubExpr());
2341 llvm::Value *V = Builder.CreateBitCast(LV.getAddress(),
2346 LValue LV = EmitLValue(E->getSubExpr());
2348 llvm::Value *V = Builder.CreateBitCast(LV.getAddress(),
2360 LValue LV = MakeAddrLValue(CreateMemTemp(Ty), Ty);
2361 EmitNullInitialization(LV.getAddress(), Ty);
2362 return LV;
2376 RValue CodeGenFunction::EmitRValueForField(LValue LV,
2379 LValue FieldLV = EmitLValueForField(LV, FD);
2511 LValue LV = EmitLValue(E->getLHS());
2512 EmitStoreThroughLValue(RV, LV);
2513 return LV;
2619 LValue LV =
2622 setObjCGCLValueClass(getContext(), E, LV);
2623 return LV;
3177 LValue LV;
3209 LValue LV = CGF.MakeAddrLValue(slot.getAddr(), ov->getType());
3210 opaqueData = OVMA::bind(CGF, ov, LV);
3220 result.LV = CGF.EmitLValue(ov);
3232 result.LV = CGF.EmitLValue(semantic);
3255 return emitPseudoObjectExpr(*this, E, true, AggValueSlot::ignored()).LV;