[PATCH] D152957: ValueTracking: Fix nan result handling for fmul

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 15 01:38:43 PDT 2023


foad added inline comments.


================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4779-4782
+      if ((KnownRHS.isKnownNeverInfinity() &&
+           KnownRHS.isKnownNeverLogicalZero(*F, Op->getType())) ||
+          (KnownLHS.isKnownNeverInfinity() &&
+           KnownLHS.isKnownNeverLogicalZero(*F, Op->getType())))
----------------
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.


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

https://reviews.llvm.org/D152957



More information about the llvm-commits mailing list