diff --git a/llvm/lib/Analysis/ConstantFolding.cpp b/llvm/lib/Analysis/ConstantFolding.cpp index 432be1e51de24..514d44973c798 100644 --- a/llvm/lib/Analysis/ConstantFolding.cpp +++ b/llvm/lib/Analysis/ConstantFolding.cpp @@ -1001,18 +1001,8 @@ Constant *SymbolicallyEvaluateGEP(const GEPOperator *GEP, } // Create a GEP. - Constant *C = ConstantExpr::getGetElementPtr(SrcElemTy, Ptr, NewIdxs, - InBounds, InRangeIndex); - assert( - cast(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