https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85158

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
There's related PR82494 about the lambda vector operations but yes, this code
hasn't
been fixed to avoid overflows and generally expects to operate with infinite
precision integers ... (you know, 64bits will be enough - really!).

Fixing requires overhauling all of the API and data structures in dependence
analysis and finding a suitable representation for "infinite precision
integers".
Note that most of the APIs do not have a well-defined failure mode so bailing
out isn't easy either.

Using GMP is very likely prohibitly expensive not only due to its lack of
optimizing the small-precision case.  OTOH we are using it from niter analysis
already.  Evaluating ISL ints (isl/val.h when configured to not use GMP) might
be worth, as well as maybe looking at including (patched?) mini-gmp.

Note the HWIs are less likely a problem than the ints currently used for
lambda vectors/matrices.

Note that simply silencing UBSAN by using unsigned arithmetic will simply
silence it, not avoiding wrong-code issues that might be latent there.

*** This bug has been marked as a duplicate of bug 82494 ***

Reply via email to