[all-commits] [llvm/llvm-project] 4c3408: [LangRef] improve documentation of SNaN in the def...
Sanjay Patel via All-commits
all-commits at lists.llvm.org
Wed Feb 15 05:58:24 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4c3408697b73fd7c6d58658eeb5b7743cb9fab6c
https://github.com/llvm/llvm-project/commit/4c3408697b73fd7c6d58658eeb5b7743cb9fab6c
Author: Sanjay Patel <spatel at rotateright.com>
Date: 2023-02-15 (Wed, 15 Feb 2023)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] improve documentation of SNaN in the default FP environment
Make it explicit that SNaN is not handled differently than
QNaN in the LLVM default floating-point environment.
Note that an IEEE-754-compliant model disallows transforms
like "X * 1.0 -> X". That is because math operations are
expected to convert SNaN to QNaN (set the signaling bit).
But LLVM has had those kinds of transforms from the beginning:
https://alive2.llvm.org/ce/z/igb55y
We should be IEEE-754-compliant under strict-FP (the logic is
implemented with a helper named canIgnoreSNaN()), but I don't
think there is any demand to do that with default optimization.
See issue #43070 for earlier draft/discussion about this change.
Differential Revision: https://reviews.llvm.org/D143074
More information about the All-commits
mailing list