[PATCH] D50222: [CodeGen] [SelectionDAG] More efficient code for X % C == 0 (UREM case)
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 30 06:06:46 PDT 2018
lebedev.ri added inline comments.
================
Comment at: lib/CodeGen/SelectionDAG/TargetLowering.cpp:3727
+ const SDLoc &DL) const {
+ // fold (seteq/ne (urem N, D), 0) -> (setule/gte (rotr (mul N, P), K), Q)
+ // - D must be constant with D = D0 * 2^K where D0 is odd
----------------
lebedev.ri wrote:
> lebedev.ri wrote:
> > ```
> > assert((Cond == ISD::SETEQ || Cond == ISD::SETNE) &&
> > "Only applicable for [in]equality comparisons.");
> > ```
> ```
> // fold (seteq/ne (urem N, D), 0) -> (setule/ugt (rotr (mul N, P), K), Q)
>
> ```
> (it would be great to use more descriptive names to differentiate between `C`onstants and not constants, too)
> (it would be great to use more descriptive names to differentiate between Constants and not constants, too)
But thinking about it a bit more, probably don't rename the variables. Consistency [with the orig doc] may be best.
Repository:
rL LLVM
https://reviews.llvm.org/D50222
More information about the llvm-commits
mailing list