Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[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
- Loading branch information