• Home
  • Raw
  • Download

Lines Matching refs:LV

189     LValue LV = MakeAddrLValue(Location, E->getType());  in EmitAnyExprToMem()  local
190 EmitStoreThroughLValue(RV, LV); in EmitAnyExprToMem()
438 LValue LV = MakeAddrLValue(Object, E->getType(), in EmitMaterializeTemporaryExpr() local
440 LV = EmitLValueForField(LV, Adjustment.Field); in EmitMaterializeTemporaryExpr()
441 assert(LV.isSimple() && in EmitMaterializeTemporaryExpr()
443 Object = LV.getAddress(); in EmitMaterializeTemporaryExpr()
462 LValue LV = EmitLValue(E); in EmitReferenceBindingToExpr() local
463 assert(LV.isSimple()); in EmitReferenceBindingToExpr()
464 llvm::Value *Value = LV.getPointer(); in EmitReferenceBindingToExpr()
747 EmitComplexPrePostIncDec(const UnaryOperator *E, LValue LV, in EmitComplexPrePostIncDec() argument
749 ComplexPairTy InVal = EmitLoadOfComplex(LV, E->getExprLoc()); in EmitComplexPrePostIncDec()
772 EmitStoreOfComplex(IncVal, LV, /*init*/ false); in EmitComplexPrePostIncDec()
864 LValue LV = EmitLValue(UO->getSubExpr()); in EmitPointerWithAlignment() local
865 if (Source) *Source = LV.getAlignmentSource(); in EmitPointerWithAlignment()
866 return LV.getAddress(); in EmitPointerWithAlignment()
918 LValue LV; in EmitCheckedLValue() local
920 LV = EmitArraySubscriptExpr(cast<ArraySubscriptExpr>(E), /*Accessed*/true); in EmitCheckedLValue()
922 LV = EmitLValue(E); in EmitCheckedLValue()
923 if (!isa<DeclRefExpr>(E) && !LV.isBitField() && LV.isSimple()) in EmitCheckedLValue()
924 EmitTypeCheck(TCK, E->getExprLoc(), LV.getPointer(), in EmitCheckedLValue()
925 E->getType(), LV.getAlignment()); in EmitCheckedLValue()
926 return LV; in EmitCheckedLValue()
1415 RValue CodeGenFunction::EmitLoadOfLValue(LValue LV, SourceLocation Loc) { in EmitLoadOfLValue() argument
1416 if (LV.isObjCWeak()) { in EmitLoadOfLValue()
1418 Address AddrWeakObj = LV.getAddress(); in EmitLoadOfLValue()
1422 if (LV.getQuals().getObjCLifetime() == Qualifiers::OCL_Weak) { in EmitLoadOfLValue()
1425 return RValue::get(EmitARCLoadWeak(LV.getAddress())); in EmitLoadOfLValue()
1429 llvm::Value *Object = EmitARCLoadWeakRetained(LV.getAddress()); in EmitLoadOfLValue()
1430 Object = EmitObjCConsumeObject(LV.getType(), Object); in EmitLoadOfLValue()
1434 if (LV.isSimple()) { in EmitLoadOfLValue()
1435 assert(!LV.getType()->isFunctionType()); in EmitLoadOfLValue()
1438 return RValue::get(EmitLoadOfScalar(LV, Loc)); in EmitLoadOfLValue()
1441 if (LV.isVectorElt()) { in EmitLoadOfLValue()
1442 llvm::LoadInst *Load = Builder.CreateLoad(LV.getVectorAddress(), in EmitLoadOfLValue()
1443 LV.isVolatileQualified()); in EmitLoadOfLValue()
1444 return RValue::get(Builder.CreateExtractElement(Load, LV.getVectorIdx(), in EmitLoadOfLValue()
1450 if (LV.isExtVectorElt()) in EmitLoadOfLValue()
1451 return EmitLoadOfExtVectorElementLValue(LV); in EmitLoadOfLValue()
1454 if (LV.isGlobalReg()) in EmitLoadOfLValue()
1455 return EmitLoadOfGlobalRegLValue(LV); in EmitLoadOfLValue()
1457 assert(LV.isBitField() && "Unknown LValue type!"); in EmitLoadOfLValue()
1458 return EmitLoadOfBitfieldLValue(LV); in EmitLoadOfLValue()
1461 RValue CodeGenFunction::EmitLoadOfBitfieldLValue(LValue LV) { in EmitLoadOfBitfieldLValue() argument
1462 const CGBitFieldInfo &Info = LV.getBitFieldInfo(); in EmitLoadOfBitfieldLValue()
1465 llvm::Type *ResLTy = ConvertType(LV.getType()); in EmitLoadOfBitfieldLValue()
1467 Address Ptr = LV.getBitFieldAddress(); in EmitLoadOfBitfieldLValue()
1468 llvm::Value *Val = Builder.CreateLoad(Ptr, LV.isVolatileQualified(), "bf.load"); in EmitLoadOfBitfieldLValue()
1492 RValue CodeGenFunction::EmitLoadOfExtVectorElementLValue(LValue LV) { in EmitLoadOfExtVectorElementLValue() argument
1493 llvm::Value *Vec = Builder.CreateLoad(LV.getExtVectorAddress(), in EmitLoadOfExtVectorElementLValue()
1494 LV.isVolatileQualified()); in EmitLoadOfExtVectorElementLValue()
1496 const llvm::Constant *Elts = LV.getExtVectorElts(); in EmitLoadOfExtVectorElementLValue()
1500 const VectorType *ExprVT = LV.getType()->getAs<VectorType>(); in EmitLoadOfExtVectorElementLValue()
1521 Address CodeGenFunction::EmitExtVectorElementLValue(LValue LV) { in EmitExtVectorElementLValue() argument
1522 Address VectorAddress = LV.getExtVectorAddress(); in EmitExtVectorElementLValue()
1523 const VectorType *ExprVT = LV.getType()->getAs<VectorType>(); in EmitExtVectorElementLValue()
1531 const llvm::Constant *Elts = LV.getExtVectorElts(); in EmitExtVectorElementLValue()
1543 RValue CodeGenFunction::EmitLoadOfGlobalRegLValue(LValue LV) { in EmitLoadOfGlobalRegLValue() argument
1544 assert((LV.getType()->isIntegerType() || LV.getType()->isPointerType()) && in EmitLoadOfGlobalRegLValue()
1547 cast<llvm::MetadataAsValue>(LV.getGlobalReg())->getMetadata()); in EmitLoadOfGlobalRegLValue()
1550 llvm::Type *OrigTy = CGM.getTypes().ConvertType(LV.getType()); in EmitLoadOfGlobalRegLValue()
1822 LValue &LV, in setObjCGCLValueClass() argument
1835 LV.setObjCIvar(false); in setObjCGCLValueClass()
1839 LV.setObjCIvar(true); in setObjCGCLValueClass()
1841 LV.setBaseIvarExp(Exp->getBase()); in setObjCGCLValueClass()
1842 LV.setObjCArray(E->getType()->isArrayType()); in setObjCGCLValueClass()
1849 LV.setGlobalObjCRef(true); in setObjCGCLValueClass()
1850 LV.setThreadLocalRef(VD->getTLSKind() != VarDecl::TLS_None); in setObjCGCLValueClass()
1853 LV.setObjCArray(E->getType()->isArrayType()); in setObjCGCLValueClass()
1858 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess); in setObjCGCLValueClass()
1863 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess); in setObjCGCLValueClass()
1864 if (LV.isObjCIvar()) { in setObjCGCLValueClass()
1871 LV.setObjCIvar(false); in setObjCGCLValueClass()
1877 setObjCGCLValueClass(Ctx, Exp->getResultExpr(), LV); in setObjCGCLValueClass()
1882 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess); in setObjCGCLValueClass()
1887 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess); in setObjCGCLValueClass()
1892 setObjCGCLValueClass(Ctx, Exp->getSubExpr(), LV, IsMemberAccess); in setObjCGCLValueClass()
1897 setObjCGCLValueClass(Ctx, Exp->getBase(), LV); in setObjCGCLValueClass()
1898 if (LV.isObjCIvar() && !LV.isObjCArray()) in setObjCGCLValueClass()
1901 LV.setObjCIvar(false); in setObjCGCLValueClass()
1902 else if (LV.isGlobalObjCRef() && !LV.isObjCArray()) in setObjCGCLValueClass()
1905 LV.setGlobalObjCRef(false); in setObjCGCLValueClass()
1910 setObjCGCLValueClass(Ctx, Exp->getBase(), LV, true); in setObjCGCLValueClass()
1913 LV.setObjCArray(E->getType()->isArrayType()); in setObjCGCLValueClass()
1964 LValue LV; in EmitGlobalVarDeclLValue() local
1971 LV = CGF.EmitLoadOfReferenceLValue(Addr, RefTy); in EmitGlobalVarDeclLValue()
1973 LV = CGF.MakeAddrLValue(Addr, T, AlignmentSource::Decl); in EmitGlobalVarDeclLValue()
1975 setObjCGCLValueClass(CGF.getContext(), E, LV); in EmitGlobalVarDeclLValue()
1976 return LV; in EmitGlobalVarDeclLValue()
2001 LValue LV = CGF.MakeNaturalAlignAddrLValue(ThisValue, TagType); in EmitCapturedFieldLValue() local
2002 return CGF.EmitLValueForField(LV, FD); in EmitCapturedFieldLValue()
2142 LValue LV; in EmitDeclRefLValue() local
2144 LV = EmitLoadOfReferenceLValue(addr, RefTy); in EmitDeclRefLValue()
2146 LV = MakeAddrLValue(addr, T, AlignmentSource::Decl); in EmitDeclRefLValue()
2155 LV.getQuals().removeObjCGCAttr(); in EmitDeclRefLValue()
2156 LV.setNonGC(true); in EmitDeclRefLValue()
2162 LV.setARCPreciseLifetime(ARCImpreciseLifetime); in EmitDeclRefLValue()
2163 setObjCGCLValueClass(getContext(), E, LV); in EmitDeclRefLValue()
2164 return LV; in EmitDeclRefLValue()
2187 LValue LV = MakeAddrLValue(Addr, T, AlignSource); in EmitUnaryOpLValue() local
2188 LV.getQuals().setAddressSpace(ExprTy.getAddressSpace()); in EmitUnaryOpLValue()
2196 LV.isObjCWeak()) in EmitUnaryOpLValue()
2197 LV.setNonGC(!E->isOBJCGCCandidate(getContext())); in EmitUnaryOpLValue()
2198 return LV; in EmitUnaryOpLValue()
2202 LValue LV = EmitLValue(E->getSubExpr()); in EmitUnaryOpLValue() local
2203 assert(LV.isSimple() && "real/imag on non-ordinary l-value"); in EmitUnaryOpLValue()
2208 !LV.getAddress().getElementType()->isStructTy()) { in EmitUnaryOpLValue()
2210 return LV; in EmitUnaryOpLValue()
2217 ? emitAddrOfRealComponent(LV.getAddress(), LV.getType()) in EmitUnaryOpLValue()
2218 : emitAddrOfImagComponent(LV.getAddress(), LV.getType())); in EmitUnaryOpLValue()
2219 return MakeAddrLValue(Component, ExprTy, LV.getAlignmentSource()); in EmitUnaryOpLValue()
2223 LValue LV = EmitLValue(E->getSubExpr()); in EmitUnaryOpLValue() local
2227 EmitComplexPrePostIncDec(E, LV, isInc, true/*isPre*/); in EmitUnaryOpLValue()
2229 EmitScalarPrePostIncDec(E, LV, isInc, true/*isPre*/); in EmitUnaryOpLValue()
2230 return LV; in EmitUnaryOpLValue()
2600 LValue LV = EmitLValue(E); in EmitArrayToPointerDecay() local
2601 Address Addr = LV.getAddress(); in EmitArrayToPointerDecay()
2602 if (AlignSource) *AlignSource = LV.getAlignmentSource(); in EmitArrayToPointerDecay()
2730 LValue LV = EmitLValue(E->getBase()); in EmitArraySubscriptExpr() local
2731 Address Addr = EmitExtVectorElementLValue(LV); in EmitArraySubscriptExpr()
2733 QualType EltType = LV.getType()->castAs<VectorType>()->getElementType(); in EmitArraySubscriptExpr()
2735 return MakeAddrLValue(Addr, EltType, LV.getAlignmentSource()); in EmitArraySubscriptExpr()
2818 LValue LV = MakeAddrLValue(Addr, E->getType(), AlignSource); in EmitArraySubscriptExpr() local
2824 LV.setNonGC(!E->isOBJCGCCandidate(getContext())); in EmitArraySubscriptExpr()
2825 setObjCGCLValueClass(getContext(), E, LV); in EmitArraySubscriptExpr()
2827 return LV; in EmitArraySubscriptExpr()
2968 LValue LV = MakeAddrLValue(Address(EltPtr, EltAlign), ResultExprTy, in EmitOMPArraySectionExpr() local
2971 LV.getQuals().setAddressSpace(BaseTy.getAddressSpace()); in EmitOMPArraySectionExpr()
2973 return LV; in EmitOMPArraySectionExpr()
3049 LValue LV = EmitLValueForField(BaseLV, Field); in EmitMemberExpr() local
3050 setObjCGCLValueClass(getContext(), E, LV); in EmitMemberExpr()
3051 return LV; in EmitMemberExpr()
3186 LValue LV = MakeAddrLValue(addr, type, fieldAlignSource); in EmitLValueForField() local
3187 LV.getQuals().addCVRQualifiers(cvr); in EmitLValueForField()
3193 LV.setTBAABaseType(mayAlias ? getContext().CharTy : base.getTBAABaseType()); in EmitLValueForField()
3194 LV.setTBAAOffset(mayAlias ? 0 : base.getTBAAOffset() + in EmitLValueForField()
3200 if (LV.getQuals().getObjCGCAttr() == Qualifiers::Weak) in EmitLValueForField()
3201 LV.getQuals().removeObjCGCAttr(); in EmitLValueForField()
3206 if (mayAlias && LV.getTBAAInfo()) in EmitLValueForField()
3207 LV.setTBAAInfo(CGM.getTBAAInfo(getContext().CharTy)); in EmitLValueForField()
3209 return LV; in EmitLValueForField()
3408 LValue LV = EmitLValue(E->getSubExpr()); in EmitCastLValue() local
3409 Address V = LV.getAddress(); in EmitCastLValue()
3428 LValue LV = EmitLValue(E->getSubExpr()); in EmitCastLValue() local
3429 Address This = LV.getAddress(); in EmitCastLValue()
3436 return MakeAddrLValue(Base, E->getType(), LV.getAlignmentSource()); in EmitCastLValue()
3444 LValue LV = EmitLValue(E->getSubExpr()); in EmitCastLValue() local
3448 GetAddressOfDerivedClass(LV.getAddress(), DerivedClassDecl, in EmitCastLValue()
3463 return MakeAddrLValue(Derived, E->getType(), LV.getAlignmentSource()); in EmitCastLValue()
3470 LValue LV = EmitLValue(E->getSubExpr()); in EmitCastLValue() local
3471 Address V = Builder.CreateBitCast(LV.getAddress(), in EmitCastLValue()
3479 return MakeAddrLValue(V, E->getType(), LV.getAlignmentSource()); in EmitCastLValue()
3482 LValue LV = EmitLValue(E->getSubExpr()); in EmitCastLValue() local
3483 Address V = Builder.CreateElementBitCast(LV.getAddress(), in EmitCastLValue()
3485 return MakeAddrLValue(V, E->getType(), LV.getAlignmentSource()); in EmitCastLValue()
3499 RValue CodeGenFunction::EmitRValueForField(LValue LV, in EmitRValueForField() argument
3503 LValue FieldLV = EmitLValueForField(LV, FD); in EmitRValueForField()
3631 LValue LV = EmitCheckedLValue(E->getLHS(), TCK_Store); in EmitBinaryOperatorLValue() local
3632 EmitStoreThroughLValue(RV, LV); in EmitBinaryOperatorLValue()
3633 return LV; in EmitBinaryOperatorLValue()
3756 LValue LV = in EmitObjCIvarRefLValue() local
3759 setObjCGCLValueClass(getContext(), E, LV); in EmitObjCIvarRefLValue()
3760 return LV; in EmitObjCIvarRefLValue()
3967 LValue LV; member
3998 LValue LV = CGF.MakeAddrLValue(slot.getAddress(), ov->getType(), in emitPseudoObjectExpr() local
4000 opaqueData = OVMA::bind(CGF, ov, LV); in emitPseudoObjectExpr()
4010 result.LV = CGF.EmitLValue(ov); in emitPseudoObjectExpr()
4022 result.LV = CGF.EmitLValue(semantic); in emitPseudoObjectExpr()
4045 return emitPseudoObjectExpr(*this, E, true, AggValueSlot::ignored()).LV; in EmitPseudoObjectLValue()