diff options
Diffstat (limited to 'llvm/lib/Analysis/ConstantFolding.cpp')
-rw-r--r-- | llvm/lib/Analysis/ConstantFolding.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/llvm/lib/Analysis/ConstantFolding.cpp b/llvm/lib/Analysis/ConstantFolding.cpp index 432be1e..514d449 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<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 |