diff --git a/llvm/lib/Analysis/ConstantFolding.cpp b/llvm/lib/Analysis/ConstantFolding.cpp index ff30fece5fce9..a73f3c7ded78b 100644 --- a/llvm/lib/Analysis/ConstantFolding.cpp +++ b/llvm/lib/Analysis/ConstantFolding.cpp @@ -924,7 +924,8 @@ Constant *SymbolicallyEvaluateGEP(const GEPOperator *GEP, Ptr = cast(GEP->getOperand(0)); SrcElemTy = GEP->getSourceElementType(); Offset = Offset.sadd_ov( - APInt(BitWidth, DL.getIndexedOffsetInType(SrcElemTy, NestedOps)), + APInt(BitWidth, DL.getIndexedOffsetInType(SrcElemTy, NestedOps), + /*isSigned=*/true, /*implicitTrunc=*/true), Overflow); }