Lines Matching refs:getType

41     cast<llvm::PointerType>(value->getType())->getAddressSpace();
47 if (value->getType() == destType) return value;
88 if (const MemberPointerType *MPT = E->getType()->getAs<MemberPointerType>()) {
94 if (!E->getType()->isAnyComplexType())
95 return EmitScalarConversion(EmitScalarExpr(E), E->getType(), BoolTy);
97 return EmitComplexToScalarConversion(EmitComplexExpr(E), E->getType(),BoolTy);
117 switch (getEvaluationKind(E->getType())) {
124 aggSlot = CreateAggTemp(E->getType(), "agg-temp");
136 if (hasAggregateEvaluationKind(E->getType()))
137 AggSlot = CreateAggTemp(E->getType(), "agg.tmp");
148 switch (getEvaluationKind(E->getType())) {
151 MakeNaturalAlignAddrLValue(Location, E->getType()),
156 CharUnits Alignment = getContext().getTypeAlignInChars(E->getType());
166 LValue LV = MakeAddrLValue(Location, E->getType());
183 M->getType()->isObjCLifetimeType()) {
184 QualType ObjCARCReferenceLifetimeType = M->getType();
245 E->getType()->getBaseElementTypeUnsafe()->getAs<RecordType>()) {
261 if (E->getType()->isArrayType()) {
263 cast<llvm::Constant>(ReferenceTemporary), E->getType(),
278 CGF.pushDestroy(NormalAndEHCleanup, ReferenceTemporary, E->getType(),
285 ReferenceTemporary, E->getType(),
301 return CGF.CreateMemTemp(Inner->getType(), "ref.tmp");
318 M->getType()->isObjCLifetimeType() &&
319 M->getType().getObjCLifetime() != Qualifiers::OCL_None &&
320 M->getType().getObjCLifetime() != Qualifiers::OCL_ExplicitNone) {
323 LValue RefTempDst = MakeAddrLValue(Object, M->getType());
329 Var->setInitializer(CGM.EmitNullConstant(E->getType()));
346 if (opaque->getType()->isRecordType()) {
358 Var->setInitializer(CGM.EmitNullConstant(E->getType()));
381 LValue LV = MakeAddrLValue(Object, E->getType());
398 return MakeAddrLValue(Object, M->getType());
408 if (SanitizePerformTypeCheck && !E->getType()->isFunctionType()) {
414 QualType Ty = E->getType();
451 if (Address->getType()->getPointerAddressSpace())
460 Address, llvm::Constant::getNullValue(Address->getType()));
591 const ArrayType *AT = E->getType()->castAsArrayTypeUnsafe();
619 if (const VectorType *VT = Base->getType()->getAs<VectorType>()) {
620 IndexedType = Base->getType();
629 IndexedType = CE->getSubExpr()->getType();
673 if (isa<llvm::IntegerType>(InVal.first->getType())) {
675 NextVal = llvm::ConstantInt::get(InVal.first->getType(), AmountVal, true);
680 QualType ElemTy = E->getType()->getAs<ComplexType>()->getElementType();
734 return GetUndefRValue(E->getType());
740 llvm::Type *Ty = llvm::PointerType::getUnqual(ConvertType(E->getType()));
741 return MakeAddrLValue(llvm::UndefValue::get(Ty), E->getType());
752 E->getType(), LV.getAlignment());
785 if (!E->getType()->isAnyComplexType())
937 CEK = checkVarTypeForConstantEmission(var->getType());
953 resultType = refExpr->getType();
959 resultType = value->getType();
994 lvalue.getType(), Loc, lvalue.getTBAAInfo(),
1065 cast<llvm::PointerType>(Addr->getType())->getElementType();
1078 Addr->getType()))->getAddressSpace());
1154 if (Value->getType()->isIntegerTy(1))
1156 assert(Value->getType()->isIntegerTy(getContext().getTypeSize(Ty)) &&
1166 assert(Value->getType()->isIntegerTy(getContext().getTypeSize(Ty)) &&
1182 llvm::Type *SrcTy = Value->getType();
1204 llvm::PointerType *DstPtr = cast<llvm::PointerType>(Addr->getType());
1237 lvalue.getAlignment().getQuantity(), lvalue.getType(),
1254 Object = EmitObjCConsumeObject(LV.getType(), Object);
1259 assert(!LV.getType()->isFunctionType());
1286 llvm::Type *ResLTy = ConvertType(LV.getType());
1325 const VectorType *ExprVT = LV.getType()->getAs<VectorType>();
1340 Vec = Builder.CreateShuffleVector(Vec, llvm::UndefValue::get(Vec->getType()),
1395 Src = RValue::get(EmitObjCExtendObjectLifetime(Dst.getType(),
1441 llvm::Type *ResLTy = ConvertTypeForMem(Dst.getType());
1449 Ptr->getType()->getPointerElementType(),
1462 if (!hasBooleanRepresentation(Dst.getType()))
1505 *Result = EmitFromMemory(ResultVal, Dst.getType());
1521 if (const VectorType *VTy = Dst.getType()->getAs<VectorType>()) {
1524 cast<llvm::VectorType>(Vec->getType())->getNumElements();
1535 llvm::UndefValue::get(Vec->getType()),
1549 llvm::UndefValue::get(SrcVal->getType()),
1593 QualType ExpTy = E->getType();
1607 LV.setObjCArray(E->getType()->isArrayType());
1618 LV.setObjCArray(E->getType()->isArrayType());
1632 QualType ExpTy = E->getType();
1678 LV.setObjCArray(E->getType()->isArrayType());
1687 unsigned AS = cast<llvm::PointerType>(V->getType())->getAddressSpace();
1694 llvm::Type *RealVarTy = CGF.getTypes().ConvertTypeForMem(VD->getType());
1697 QualType T = E->getType();
1699 if (VD->getType()->isReferenceType()) {
1705 LV = CGF.MakeAddrLValue(V, E->getType(), Alignment);
1716 FD->getType()->getAs<FunctionProtoType>()) {
1727 return CGF.MakeAddrLValue(V, E->getType(), Alignment);
1740 QualType T = E->getType();
1746 if (Init && !isa<ParmVarDecl>(VD) && VD->getType()->isReferenceType() &&
1750 CGM.EmitConstantValue(*VD->evaluateValue(), VD->getType(), this);
1806 if (VD->getType()->isReferenceType()) {
1818 !VD->getType()->isReferenceType() &&
1844 QualType ExprTy = getContext().getCanonicalType(E->getSubExpr()->getType());
1848 QualType T = E->getSubExpr()->getType()->getPointeeType();
1873 !cast<llvm::PointerType>(Addr->getType())
1875 assert(E->getSubExpr()->getType()->isArithmeticType());
1879 assert(E->getSubExpr()->getType()->isAnyComplexType());
1891 if (E->getType()->isAnyComplexType())
1902 E->getType());
1907 E->getType());
1924 new llvm::GlobalVariable(CGM.getModule(), C->getType(),
1987 const Type *ElemType = E->getType()->getArrayElementTypeNoTypeQual();
1999 assert(cast<ConstantArrayType>(E->getType())->getSize() - 1 ==
2013 E->getType(),
2021 return MakeAddrLValue(C, E->getType());
2067 new llvm::GlobalVariable(CGM.getModule(), Descriptor->getType(),
2084 if (V->getType()->isFloatingPointTy()) {
2085 unsigned Bits = V->getType()->getPrimitiveSizeInBits();
2092 if (V->getType()->isIntegerTy() &&
2093 V->getType()->getIntegerBitWidth() <= TargetTy->getIntegerBitWidth())
2097 if (!V->getType()->isPointerTy()) {
2098 llvm::Value *Ptr = CreateTempAlloca(V->getType());
2155 new llvm::GlobalVariable(CGM.getModule(), Info->getType(), false,
2239 if (SubExpr->getType()->isVariableArrayType())
2249 QualType IdxTy = E->getIdx()->getType();
2257 if (E->getBase()->getType()->isVectorType()) {
2263 E->getBase()->getType(), LHS.getAlignment());
2267 if (Idx->getType() != IntPtrTy)
2275 getContext().getAsVariableArrayType(E->getType())) {
2295 } else if (const ObjCObjectType *OIT = E->getType()->getAs<ObjCObjectType>()){
2298 llvm::ConstantInt::get(Idx->getType(),
2307 Address = Builder.CreateBitCast(Address, Base->getType());
2313 assert(Array->getType()->isArrayType() &&
2342 QualType T = E->getBase()->getType()->getPointeeType();
2357 LV.getQuals().setAddressSpace(E->getBase()->getType().getAddressSpace());
2387 const PointerType *PT = E->getBase()->getType()->getAs<PointerType>();
2393 assert(E->getBase()->getType()->isVectorType());
2397 assert(E->getBase()->getType()->isVectorType() &&
2402 llvm::Value *VecMem = CreateMemTemp(E->getBase()->getType());
2404 Base = MakeAddrLValue(VecMem, E->getBase()->getType());
2408 E->getType().withCVRQualifiers(Base.getQuals().getCVRQualifiers());
2438 QualType PtrTy = BaseExpr->getType()->getPointeeType();
2485 CGM.getContext().getTargetAddressSpace(base.getType()));
2486 if (Addr->getType() != PtrTy)
2490 field->getType().withCVRQualifiers(base.getVRQualifiers());
2495 QualType type = field->getType();
2587 QualType FieldType = Field->getType();
2618 return MakeAddrLValue(GlobalPtr, E->getType());
2620 if (E->getType()->isVariablyModifiedType())
2622 EmitVariablyModifiedType(E->getType());
2624 llvm::Value *DeclPtr = CreateMemTemp(E->getType(), ".compoundliteral");
2626 LValue Result = MakeAddrLValue(DeclPtr, E->getType());
2628 EmitAnyExprToMem(InitExpr, DeclPtr, E->getType().getQualifiers(),
2648 assert(hasAggregateEvaluationKind(expr->getType()) &&
2695 llvm::PHINode *phi = Builder.CreatePHI(lhs.getAddress()->getType(), 2,
2699 return MakeAddrLValue(phi, expr->getType());
2764 return MakeAddrLValue(EmitDynamicCast(V, DCE), E->getType());
2778 E->getSubExpr()->getType()->getAs<RecordType>();
2791 return MakeAddrLValue(Base, E->getType());
2796 const RecordType *DerivedClassTy = E->getType()->getAs<RecordType>();
2812 Derived, E->getType());
2814 return MakeAddrLValue(Derived, E->getType());
2823 return MakeAddrLValue(V, E->getType());
2827 QualType ToType = getContext().getLValueReferenceType(E->getType());
2830 return MakeAddrLValue(V, E->getType());
2847 QualType FT = FD->getType();
2876 if (E->getCallee()->getType()->isBlockPointerType())
2912 const PointerType *PTy = BaseExpr->getType()->getAs<PointerType>();
2917 QualType BaseTy = BaseExpr->getType();
2950 return EmitCall(E->getCallee()->getType(), Callee, E->getLocStart(),
2971 switch (getEvaluationKind(E->getType())) {
2973 switch (E->getLHS()->getType().getObjCLifetime()) {
3006 return MakeAddrLValue(RV.getAggregateAddr(), E->getType());
3012 return MakeAddrLValue(RV.getScalarVal(), E->getType());
3021 assert(E->getType()->getAsCXXRecordDecl()->hasTrivialDestructor()
3023 AggValueSlot Slot = CreateAggTemp(E->getType());
3025 return MakeAddrLValue(Slot.getAddr(), E->getType());
3030 return MakeAddrLValue(EmitCXXTypeidExpr(E), E->getType());
3035 ConvertType(E->getType())->getPointerTo());
3039 return MakeAddrLValue(EmitCXXUuidofExpr(E), E->getType());
3044 AggValueSlot Slot = CreateAggTemp(E->getType(), "temp.lvalue");
3047 EmitCXXTemporary(E->getTemporary(), E->getType(), Slot.getAddr());
3048 return MakeAddrLValue(Slot.getAddr(), E->getType());
3053 AggValueSlot Slot = CreateAggTemp(E->getType(), "temp.lvalue");
3055 return MakeAddrLValue(Slot.getAddr(), E->getType());
3062 return MakeAddrLValue(RV.getAggregateAddr(), E->getType());
3068 return MakeAddrLValue(RV.getScalarVal(), E->getType());
3074 return MakeAddrLValue(V, E->getType());
3098 ObjectTy = BaseExpr->getType()->getPointeeType();
3104 ObjectTy = BaseExpr->getType();
3118 return MakeAddrLValue(RV.getAggregateAddr(), E->getType());
3150 PrefixSig->getType(),
3151 FTRTTIConst->getType()
3232 = E->getRHS()->getType()->getAs<MemberPointerType>();
3258 assert(Val->getType()->isFPOrFPVectorTy());
3298 CodeGenFunction::hasAggregateEvaluationKind(ov->getType())) {
3301 LValue LV = CGF.MakeAddrLValue(slot.getAddr(), ov->getType());