• Home
  • Raw
  • Download

Lines Matching refs:LV

190     LValue LV = MakeAddrLValue(Location, E->getType());  in EmitAnyExprToMem()  local
191 EmitStoreThroughLValue(RV, LV); in EmitAnyExprToMem()
463 LValue LV = MakeAddrLValue(Object, E->getType(), in EmitMaterializeTemporaryExpr() local
465 LV = EmitLValueForField(LV, Adjustment.Field); in EmitMaterializeTemporaryExpr()
466 assert(LV.isSimple() && in EmitMaterializeTemporaryExpr()
468 Object = LV.getAddress(); in EmitMaterializeTemporaryExpr()
487 LValue LV = EmitLValue(E); in EmitReferenceBindingToExpr() local
488 assert(LV.isSimple()); in EmitReferenceBindingToExpr()
489 llvm::Value *Value = LV.getPointer(); in EmitReferenceBindingToExpr()
772 EmitComplexPrePostIncDec(const UnaryOperator *E, LValue LV, in EmitComplexPrePostIncDec() argument
774 ComplexPairTy InVal = EmitLoadOfComplex(LV, E->getExprLoc()); in EmitComplexPrePostIncDec()
797 EmitStoreOfComplex(IncVal, LV, /*init*/ false); in EmitComplexPrePostIncDec()
890 LValue LV = EmitLValue(UO->getSubExpr()); in EmitPointerWithAlignment() local
891 if (Source) *Source = LV.getAlignmentSource(); in EmitPointerWithAlignment()
892 return LV.getAddress(); in EmitPointerWithAlignment()
944 LValue LV; in EmitCheckedLValue() local
946 LV = EmitArraySubscriptExpr(cast<ArraySubscriptExpr>(E), /*Accessed*/true); in EmitCheckedLValue()
948 LV = EmitLValue(E); in EmitCheckedLValue()
949 if (!isa<DeclRefExpr>(E) && !LV.isBitField() && LV.isSimple()) in EmitCheckedLValue()
950 EmitTypeCheck(TCK, E->getExprLoc(), LV.getPointer(), in EmitCheckedLValue()
951 E->getType(), LV.getAlignment()); in EmitCheckedLValue()
952 return LV; in EmitCheckedLValue()
1440 RValue CodeGenFunction::EmitLoadOfLValue(LValue LV, SourceLocation Loc) { in EmitLoadOfLValue() argument
1441 if (LV.isObjCWeak()) { in EmitLoadOfLValue()
1443 Address AddrWeakObj = LV.getAddress(); in EmitLoadOfLValue()
1447 if (LV.getQuals().getObjCLifetime() == Qualifiers::OCL_Weak) { in EmitLoadOfLValue()
1450 return RValue::get(EmitARCLoadWeak(LV.getAddress())); in EmitLoadOfLValue()
1454 llvm::Value *Object = EmitARCLoadWeakRetained(LV.getAddress()); in EmitLoadOfLValue()
1455 Object = EmitObjCConsumeObject(LV.getType(), Object); in EmitLoadOfLValue()
1459 if (LV.isSimple()) { in EmitLoadOfLValue()
1460 assert(!LV.getType()->isFunctionType()); in EmitLoadOfLValue()
1463 return RValue::get(EmitLoadOfScalar(LV, Loc)); in EmitLoadOfLValue()
1466 if (LV.isVectorElt()) { in EmitLoadOfLValue()
1467 llvm::LoadInst *Load = Builder.CreateLoad(LV.getVectorAddress(), in EmitLoadOfLValue()
1468 LV.isVolatileQualified()); in EmitLoadOfLValue()
1469 return RValue::get(Builder.CreateExtractElement(Load, LV.getVectorIdx(), in EmitLoadOfLValue()
1475 if (LV.isExtVectorElt()) in EmitLoadOfLValue()
1476 return EmitLoadOfExtVectorElementLValue(LV); in EmitLoadOfLValue()
1479 if (LV.isGlobalReg()) in EmitLoadOfLValue()
1480 return EmitLoadOfGlobalRegLValue(LV); in EmitLoadOfLValue()
1482 assert(LV.isBitField() && "Unknown LValue type!"); in EmitLoadOfLValue()
1483 return EmitLoadOfBitfieldLValue(LV); in EmitLoadOfLValue()
1486 RValue CodeGenFunction::EmitLoadOfBitfieldLValue(LValue LV) { in EmitLoadOfBitfieldLValue() argument
1487 const CGBitFieldInfo &Info = LV.getBitFieldInfo(); in EmitLoadOfBitfieldLValue()
1490 llvm::Type *ResLTy = ConvertType(LV.getType()); in EmitLoadOfBitfieldLValue()
1492 Address Ptr = LV.getBitFieldAddress(); in EmitLoadOfBitfieldLValue()
1493 llvm::Value *Val = Builder.CreateLoad(Ptr, LV.isVolatileQualified(), "bf.load"); in EmitLoadOfBitfieldLValue()
1517 RValue CodeGenFunction::EmitLoadOfExtVectorElementLValue(LValue LV) { in EmitLoadOfExtVectorElementLValue() argument
1518 llvm::Value *Vec = Builder.CreateLoad(LV.getExtVectorAddress(), in EmitLoadOfExtVectorElementLValue()
1519 LV.isVolatileQualified()); in EmitLoadOfExtVectorElementLValue()
1521 const llvm::Constant *Elts = LV.getExtVectorElts(); in EmitLoadOfExtVectorElementLValue()
1525 const VectorType *ExprVT = LV.getType()->getAs<VectorType>(); in EmitLoadOfExtVectorElementLValue()
1546 Address CodeGenFunction::EmitExtVectorElementLValue(LValue LV) { in EmitExtVectorElementLValue() argument
1547 Address VectorAddress = LV.getExtVectorAddress(); in EmitExtVectorElementLValue()
1548 const VectorType *ExprVT = LV.getType()->getAs<VectorType>(); in EmitExtVectorElementLValue()
1556 const llvm::Constant *Elts = LV.getExtVectorElts(); in EmitExtVectorElementLValue()
1568 RValue CodeGenFunction::EmitLoadOfGlobalRegLValue(LValue LV) { in EmitLoadOfGlobalRegLValue() argument
1569 assert((LV.getType()->isIntegerType() || LV.getType()->isPointerType()) && in EmitLoadOfGlobalRegLValue()
1572 cast<llvm::MetadataAsValue>(LV.getGlobalReg())->getMetadata()); in EmitLoadOfGlobalRegLValue()
1575 llvm::Type *OrigTy = CGM.getTypes().ConvertType(LV.getType()); in EmitLoadOfGlobalRegLValue()
1846 LValue &LV, in setObjCGCLValueClass() argument
1859 LV.setObjCIvar(false); in setObjCGCLValueClass()
1863 LV.setObjCIvar(true); in setObjCGCLValueClass()
1865 LV.setBaseIvarExp(Exp->getBase()); in setObjCGCLValueClass()
1866 LV.setObjCArray(E->getType()->isArrayType()); in setObjCGCLValueClass()
1873 LV.setGlobalObjCRef(true); in setObjCGCLValueClass()
1874 LV.setThreadLocalRef(VD->getTLSKind() != VarDecl::TLS_None); in setObjCGCLValueClass()
1877 LV.setObjCArray(E->getType()->isArrayType()); in setObjCGCLValueClass()
1882 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess); in setObjCGCLValueClass()
1887 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess); in setObjCGCLValueClass()
1888 if (LV.isObjCIvar()) { in setObjCGCLValueClass()
1895 LV.setObjCIvar(false); in setObjCGCLValueClass()
1901 setObjCGCLValueClass(Ctx, Exp->getResultExpr(), LV); in setObjCGCLValueClass()
1906 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess); in setObjCGCLValueClass()
1911 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess); in setObjCGCLValueClass()
1916 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess); in setObjCGCLValueClass()
1921 setObjCGCLValueClass(Ctx, Exp->getBase(), LV); in setObjCGCLValueClass()
1922 if (LV.isObjCIvar() && !LV.isObjCArray()) in setObjCGCLValueClass()
1925 LV.setObjCIvar(false); in setObjCGCLValueClass()
1926 else if (LV.isGlobalObjCRef() && !LV.isObjCArray()) in setObjCGCLValueClass()
1929 LV.setGlobalObjCRef(false); in setObjCGCLValueClass()
1934 setObjCGCLValueClass(Ctx, Exp->getBase(), LV, true); in setObjCGCLValueClass()
1937 LV.setObjCArray(E->getType()->isArrayType()); in setObjCGCLValueClass()
2003 LValue LV; in EmitGlobalVarDeclLValue() local
2010 LV = CGF.EmitLoadOfReferenceLValue(Addr, RefTy); in EmitGlobalVarDeclLValue()
2012 LV = CGF.MakeAddrLValue(Addr, T, AlignmentSource::Decl); in EmitGlobalVarDeclLValue()
2014 setObjCGCLValueClass(CGF.getContext(), E, LV); in EmitGlobalVarDeclLValue()
2015 return LV; in EmitGlobalVarDeclLValue()
2040 LValue LV = CGF.MakeNaturalAlignAddrLValue(ThisValue, TagType); in EmitCapturedFieldLValue() local
2041 return CGF.EmitLValueForField(LV, FD); in EmitCapturedFieldLValue()
2181 LValue LV; in EmitDeclRefLValue() local
2183 LV = EmitLoadOfReferenceLValue(addr, RefTy); in EmitDeclRefLValue()
2185 LV = MakeAddrLValue(addr, T, AlignmentSource::Decl); in EmitDeclRefLValue()
2194 LV.getQuals().removeObjCGCAttr(); in EmitDeclRefLValue()
2195 LV.setNonGC(true); in EmitDeclRefLValue()
2201 LV.setARCPreciseLifetime(ARCImpreciseLifetime); in EmitDeclRefLValue()
2202 setObjCGCLValueClass(getContext(), E, LV); in EmitDeclRefLValue()
2203 return LV; in EmitDeclRefLValue()
2226 LValue LV = MakeAddrLValue(Addr, T, AlignSource); in EmitUnaryOpLValue() local
2227 LV.getQuals().setAddressSpace(ExprTy.getAddressSpace()); in EmitUnaryOpLValue()
2235 LV.isObjCWeak()) in EmitUnaryOpLValue()
2236 LV.setNonGC(!E->isOBJCGCCandidate(getContext())); in EmitUnaryOpLValue()
2237 return LV; in EmitUnaryOpLValue()
2241 LValue LV = EmitLValue(E->getSubExpr()); in EmitUnaryOpLValue() local
2242 assert(LV.isSimple() && "real/imag on non-ordinary l-value"); in EmitUnaryOpLValue()
2247 !LV.getAddress().getElementType()->isStructTy()) { in EmitUnaryOpLValue()
2249 return LV; in EmitUnaryOpLValue()
2256 ? emitAddrOfRealComponent(LV.getAddress(), LV.getType()) in EmitUnaryOpLValue()
2257 : emitAddrOfImagComponent(LV.getAddress(), LV.getType())); in EmitUnaryOpLValue()
2258 return MakeAddrLValue(Component, ExprTy, LV.getAlignmentSource()); in EmitUnaryOpLValue()
2262 LValue LV = EmitLValue(E->getSubExpr()); in EmitUnaryOpLValue() local
2266 EmitComplexPrePostIncDec(E, LV, isInc, true/*isPre*/); in EmitUnaryOpLValue()
2268 EmitScalarPrePostIncDec(E, LV, isInc, true/*isPre*/); in EmitUnaryOpLValue()
2269 return LV; in EmitUnaryOpLValue()
2769 LValue LV = EmitLValue(E); in EmitArrayToPointerDecay() local
2770 Address Addr = LV.getAddress(); in EmitArrayToPointerDecay()
2771 if (AlignSource) *AlignSource = LV.getAlignmentSource(); in EmitArrayToPointerDecay()
2899 LValue LV = EmitLValue(E->getBase()); in EmitArraySubscriptExpr() local
2900 Address Addr = EmitExtVectorElementLValue(LV); in EmitArraySubscriptExpr()
2902 QualType EltType = LV.getType()->castAs<VectorType>()->getElementType(); in EmitArraySubscriptExpr()
2904 return MakeAddrLValue(Addr, EltType, LV.getAlignmentSource()); in EmitArraySubscriptExpr()
2987 LValue LV = MakeAddrLValue(Addr, E->getType(), AlignSource); in EmitArraySubscriptExpr() local
2993 LV.setNonGC(!E->isOBJCGCCandidate(getContext())); in EmitArraySubscriptExpr()
2994 setObjCGCLValueClass(getContext(), E, LV); in EmitArraySubscriptExpr()
2996 return LV; in EmitArraySubscriptExpr()
3258 LValue LV = EmitLValueForField(BaseLV, Field); in EmitMemberExpr() local
3259 setObjCGCLValueClass(getContext(), E, LV); in EmitMemberExpr()
3260 return LV; in EmitMemberExpr()
3395 LValue LV = MakeAddrLValue(addr, type, fieldAlignSource); in EmitLValueForField() local
3396 LV.getQuals().addCVRQualifiers(cvr); in EmitLValueForField()
3402 LV.setTBAABaseType(mayAlias ? getContext().CharTy : base.getTBAABaseType()); in EmitLValueForField()
3403 LV.setTBAAOffset(mayAlias ? 0 : base.getTBAAOffset() + in EmitLValueForField()
3409 if (LV.getQuals().getObjCGCAttr() == Qualifiers::Weak) in EmitLValueForField()
3410 LV.getQuals().removeObjCGCAttr(); in EmitLValueForField()
3415 if (mayAlias && LV.getTBAAInfo()) in EmitLValueForField()
3416 LV.setTBAAInfo(CGM.getTBAAInfo(getContext().CharTy)); in EmitLValueForField()
3418 return LV; in EmitLValueForField()
3618 LValue LV = EmitLValue(E->getSubExpr()); in EmitCastLValue() local
3619 Address V = LV.getAddress(); in EmitCastLValue()
3638 LValue LV = EmitLValue(E->getSubExpr()); in EmitCastLValue() local
3639 Address This = LV.getAddress(); in EmitCastLValue()
3646 return MakeAddrLValue(Base, E->getType(), LV.getAlignmentSource()); in EmitCastLValue()
3654 LValue LV = EmitLValue(E->getSubExpr()); in EmitCastLValue() local
3658 GetAddressOfDerivedClass(LV.getAddress(), DerivedClassDecl, in EmitCastLValue()
3673 return MakeAddrLValue(Derived, E->getType(), LV.getAlignmentSource()); in EmitCastLValue()
3680 LValue LV = EmitLValue(E->getSubExpr()); in EmitCastLValue() local
3681 Address V = Builder.CreateBitCast(LV.getAddress(), in EmitCastLValue()
3689 return MakeAddrLValue(V, E->getType(), LV.getAlignmentSource()); in EmitCastLValue()
3692 LValue LV = EmitLValue(E->getSubExpr()); in EmitCastLValue() local
3693 Address V = Builder.CreateElementBitCast(LV.getAddress(), in EmitCastLValue()
3695 return MakeAddrLValue(V, E->getType(), LV.getAlignmentSource()); in EmitCastLValue()
3709 RValue CodeGenFunction::EmitRValueForField(LValue LV, in EmitRValueForField() argument
3713 LValue FieldLV = EmitLValueForField(LV, FD); in EmitRValueForField()
3845 LValue LV = EmitCheckedLValue(E->getLHS(), TCK_Store); in EmitBinaryOperatorLValue() local
3846 EmitStoreThroughLValue(RV, LV); in EmitBinaryOperatorLValue()
3847 return LV; in EmitBinaryOperatorLValue()
3970 LValue LV = in EmitObjCIvarRefLValue() local
3973 setObjCGCLValueClass(getContext(), E, LV); in EmitObjCIvarRefLValue()
3974 return LV; in EmitObjCIvarRefLValue()
4184 LValue LV; member
4215 LValue LV = CGF.MakeAddrLValue(slot.getAddress(), ov->getType(), in emitPseudoObjectExpr() local
4217 opaqueData = OVMA::bind(CGF, ov, LV); in emitPseudoObjectExpr()
4227 result.LV = CGF.EmitLValue(ov); in emitPseudoObjectExpr()
4239 result.LV = CGF.EmitLValue(semantic); in emitPseudoObjectExpr()
4262 return emitPseudoObjectExpr(*this, E, true, AggValueSlot::ignored()).LV; in EmitPseudoObjectLValue()