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