[PATCH] D143256: [SDAG] Check fminnum for non zero operand.

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 6 07:24:08 PST 2023


samparker added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:7980
 
+  auto IsConstantNonZero = [](SDValue N) {
+    if (auto *Input = dyn_cast<ConstantFPSDNode>(N))
----------------
spatel wrote:
> samparker wrote:
> > spatel wrote:
> > > spatel wrote:
> > > > Is this different than 
> > > >   auto *C = isConstOrConstSplatFP(N));
> > > >   return C && C->isZero();
> > > > 
> > > Oops - invert that isZero() result (we're looking for non-zero constant).
> > For splats, I think your suggestion would work, and that's what I originally tried to do... but it doesn't work for the BUILD_VECTOR case, where we need to check if //any// element is a zero.
> Ah, right. It looks like we do have the basic call already:
> SelectionDAG::isKnownNeverZeroFloat().
> ...and it has a TODO comment about handling a vector constant, so just append that part there?
Nice, will do.


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

https://reviews.llvm.org/D143256



More information about the llvm-commits mailing list