[PATCH] D70654: [LegalizeTypes][FPEnv][X86] Add initial support for softening strict fp nodes

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 25 13:05:39 PST 2019


craig.topper marked an inline comment as done.
craig.topper added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp:878
+    ReplaceValueWith(SDValue(N, 0), Tmp.first);
+    return SDValue();
+  }
----------------
efriedma wrote:
> This is different from the other operations?
There's an assert in the caller than checks that the node only has a single result if you return a node. This assert only exists in the softening operand case. The softening result does not do this check. Returning SDValue() bypasses the assert. The same problem came up in vector splitting for operands and the assert was modified into 2 asserts that are selected based on whether the node is strict or not. I could do the same here, but it seemed like spreading strict fp details to a place that didn't really need to know about it.


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

https://reviews.llvm.org/D70654





More information about the llvm-commits mailing list