[PATCH] D125557: [APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 17 12:27:27 PDT 2022


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



More information about the llvm-commits mailing list