[PATCH] D139316: ValueTracking: Teach isKnownNeverInfinity about rounding intrinsics

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 8 06:20:41 PST 2022


arsenm added a comment.

In D139316#3981280 <https://reviews.llvm.org/D139316#3981280>, @kpn wrote:

> Are we certain that a value that is very close to infinity won't trip over into infinity after rounding?

https://godbolt.org/z/54a737acd.

My man page for ceil states

>   SUSv2  and POSIX.1-2001 contain text about overflow (which might set errno to ERANGE, or raise an FE_OVERFLOW exception).  In
>   practice, the result cannot overflow on any current machine, so this error-handling stuff is just nonsense.  (More precisely,
>   overflow  can  happen  only  when  the  maximum  value  of the exponent is smaller than the number of mantissa bits.  For the
>   IEEE-754 standard 32-bit and 64-bit floating-point numbers the maximum value of the exponent is 128 (respectively, 1024), and
>   the number of mantissa bits is 24 (respectively, 53).)




CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139316/new/

https://reviews.llvm.org/D139316



More information about the llvm-commits mailing list