efriedma added inline comments.
================ Comment at: llvm/lib/IR/ConstantRange.cpp:724 auto BW = getBitWidth(); - APInt Min = APInt::getMinValue(BW).zextOrSelf(ResultBitWidth); - APInt Max = APInt::getMaxValue(BW).zextOrSelf(ResultBitWidth); + APInt Min = APInt::getMinValue(BW); + APInt Max = APInt::getMaxValue(BW); ---------------- foad wrote: > foad wrote: > > efriedma wrote: > > > efriedma wrote: > > > > Making the bitwidth of the result here not equal to ResultBitWidth > > > > seems suspect. > > > > > > > > I think there should just be an `if (ResultBitWidth < BW) return > > > > getFull(ResultBitWidth);` here. Then a simple conversion just works. > > > Actually, looking at D27294 again, maybe it is actually making the result > > > bitwidth intentionally inflate like this. > > > > > > This could use a comment explaining what it's doing, in any case. > > I agree it could use a comment but I don't feel qualified to write it - I > > am just trying to preserve the current behaviour. > @efriedma do you have any objection to the patch as-is? No objection. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D125557/new/ https://reviews.llvm.org/D125557 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits