[PATCH] D49248: [TargetLowering] Add support for non-uniform vectors to BuildUDIV
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Jul 14 06:52:33 PDT 2018
lebedev.ri added inline comments.
================
Comment at: lib/CodeGen/SelectionDAG/DAGCombiner.cpp:17829
+ SDValue N1 = N->getOperand(1);
+ if (!isConstantOrConstantVector(N1) || !DAG.isKnownNeverZero(N1))
return SDValue();
----------------
RKSimon wrote:
> lebedev.ri wrote:
> > `isKnownNeverZero()` should also probably be wary of `undef`?
> If its a constant build vector then isKnownNeverZero() will return false if any elements contain undef.
https://github.com/llvm-mirror/llvm/blob/51a70b932d4c89e412ceea371861e5f7fcca1776/lib/CodeGen/SelectionDAG/SelectionDAG.cpp#L3625-L3645
Ah, it is cautiously-pessimistic by default, right.
Repository:
rL LLVM
https://reviews.llvm.org/D49248
More information about the llvm-commits
mailing list