[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