This was mishandling maybe 0 * inf.
Fixes issue #63316
Paths
| Differential D152957
ValueTracking: Fix nan result handling for fmul ClosedPublic Authored by arsenm on Jun 14 2023, 1:50 PM.
Details Summary This was mishandling maybe 0 * inf. Fixes issue #63316
Diff Detail Event Timeline
foad added inline comments. This revision is now accepted and ready to land.Jun 15 2023, 6:09 AM
Revision Contents
Diff 531705 llvm/lib/Analysis/ValueTracking.cpp
llvm/test/Transforms/Attributor/nofpclass-nan-fmul.ll
llvm/test/Transforms/Inline/simplify-instruction-computeKnownFPClass-context.ll
llvm/test/Transforms/InstSimplify/known-never-nan.ll
|
Independent of the bug fix, a stronger form of this check is...
i.e. it can't be 0*inf AND it can't be inf*0
Your version misses some simple cases like when all we know is that neither operand is infinity.