}
// Create a GEP.
- Constant *C = ConstantExpr::getGetElementPtr(SrcElemTy, Ptr, NewIdxs,
- InBounds, InRangeIndex);
- assert(
- cast<PointerType>(C->getType())->isOpaqueOrPointeeTypeMatches(ElemTy) &&
- "Computed GetElementPtr has unexpected type!");
-
- // If we ended up indexing a member with a type that doesn't match
- // the type of what the original indices indexed, add a cast.
- if (C->getType() != ResTy)
- C = FoldBitCast(C, ResTy, DL);
-
- return C;
+ return ConstantExpr::getGetElementPtr(SrcElemTy, Ptr, NewIdxs, InBounds,
+ InRangeIndex);
}
/// Attempt to constant fold an instruction with the