[LLVMdev] DAGCombiner: (S|U)REM

Chris Lattner sabre at nondot.org
Mon Jun 18 23:23:40 PDT 2007


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

-- 
http://nondot.org/sabre/
http://llvm.org/



More information about the llvm-dev mailing list