[LLVMdev] DAGCombiner: (S|U)REM

Chris Lattner
Tue, 19 Jun 2007 06:23:40 -0000

On Thu, 14 Jun 2007, Dietmar Ebner wrote:
> currently, the DAGCombiner unconditionally converts
> (DAGCombiner::visit(U|S)REM) expressions of the form X % C for constants
> C into X-X/C*C. this makes sense in certain cases where the div/mul
> logic will simplify X/C*X but is counterproductive in general,
> especially if the multiply is expensive. also, this doesn't allow
> targets to custom lower rem operations. shouldn't this transformation
be
> left for the legalizer (where it's implemented anyway)?

Yes, the legalizer should do this transformation.

-Chris

--