Lines Matching refs:Index
708 // Handle a struct index, which adds its field offset to the pointer.
715 // For array or vector indices, scale the index by the size of the
717 APInt Index = OpC->getValue().sextOrTrunc(Offset.getBitWidth());
718 GEPOffset += Index * APInt(Offset.getBitWidth(),
722 // If this index has computed an intermediate pointer which is not
867 // Check that we ended up with a valid index in the map.
869 "Map index doesn't point back to a slice with this user.");
1335 // A single zero index is a no-op, so check for this and avoid building a GEP
1450 unsigned Index = SL->getElementContainingOffset(StructOffset);
1451 Offset -= APInt(Offset.getBitWidth(), SL->getElementOffset(Index));
1452 Type *ElementTy = STy->getElementType(Index);
1456 Indices.push_back(IRB.getInt32(Index));
1467 /// possible. We recurse by decreasing Offset, adding the appropriate index to
2300 // Look for an SROA slice index.
2303 // Strip the index and look for the offset.
2342 assert(RelOffset / ElementSize < UINT32_MAX && "Index out of bounds");
2343 uint32_t Index = RelOffset / ElementSize;
2344 assert(Index * ElementSize == RelOffset);
2345 return Index;
3029 /// single zero GEP index.
3041 /// extractvalue all operating with the same fundamental index list, merely
3188 unsigned Index = SL->getElementContainingOffset(0);
3189 InnerTy = STy->getElementType(Index);
3269 unsigned Index = SL->getElementContainingOffset(Offset);
3270 Offset -= SL->getElementOffset(Index);
3272 Type *ElementTy = STy->getElementType(Index);
3288 StructType::element_iterator EI = STy->element_begin() + Index,
3292 if (Index == EndIndex)
3302 assert(Index < EndIndex);