Lines Matching refs:ElemTy
920 int64_t DataLayout::getIndexedOffsetInType(Type *ElemTy, in getIndexedOffsetInType() argument
925 GTI = gep_type_begin(ElemTy, Indices), in getIndexedOffsetInType()
926 GTE = gep_type_end(ElemTy, Indices); in getIndexedOffsetInType()
968 std::optional<APInt> DataLayout::getGEPIndexForOffset(Type *&ElemTy, in getGEPIndexForOffset() argument
970 if (auto *ArrTy = dyn_cast<ArrayType>(ElemTy)) { in getGEPIndexForOffset()
971 ElemTy = ArrTy->getElementType(); in getGEPIndexForOffset()
972 return getElementIndex(getTypeAllocSize(ElemTy), Offset); in getGEPIndexForOffset()
975 if (isa<VectorType>(ElemTy)) { in getGEPIndexForOffset()
982 if (auto *STy = dyn_cast<StructType>(ElemTy)) { in getGEPIndexForOffset()
990 ElemTy = STy->getElementType(Index); in getGEPIndexForOffset()
998 SmallVector<APInt> DataLayout::getGEPIndicesForOffset(Type *&ElemTy, in getGEPIndicesForOffset() argument
1000 assert(ElemTy->isSized() && "Element type must be sized"); in getGEPIndicesForOffset()
1002 Indices.push_back(getElementIndex(getTypeAllocSize(ElemTy), Offset)); in getGEPIndicesForOffset()
1004 std::optional<APInt> Index = getGEPIndexForOffset(ElemTy, Offset); in getGEPIndicesForOffset()