[llvm] [ValueTracking] Fix assertion failure when `computeKnownFPClass` returns fcNone (PR #92355)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu May 16 00:43:40 PDT 2024


================
@@ -1126,8 +1126,13 @@ static void computeKnownBitsFromOperator(const Operator *I,
       KnownFPClass Result = computeKnownFPClass(V, fcAllFlags, Depth + 1, Q);
       FPClassTest FPClasses = Result.KnownFPClasses;
 
-      if (FPClasses != fcNone &&
-          Result.isKnownNever(fcNormal | fcSubnormal | fcNan)) {
+      // Treat it as zero if the use of I is unreachable.
+      if (FPClasses == fcNone) {
+        Known.setAllZero();
+        break;
+      }
----------------
arsenm wrote:

Probably should do this as a separate PR, this probably has the need-to-consistently-be-zero-for-undef problem 

https://github.com/llvm/llvm-project/pull/92355


More information about the llvm-commits mailing list