[LLVMdev] [global-isel] Simplifying the simplifier

Hal Finkel hfinkel at anl.gov
Thu Aug 8 16:59:27 PDT 2013


----- Original Message -----
[snip]

> 
> DAGCombine is supposed to clean up legalization products, but today
> it seems to be accumulating some transformations that probably
> belong in InstCombine. Since it is running so late in the pass
> pipeline, its canonicalizing approach is causing problems for
> targets that are trying to arrange the IR optimally. Optimal and
> canonical are not always the same thing.
> 
> Can we get away with a gentler instruction simplifier that is more
> focused at cleaning up after legalization?

>From what I've observed, there tends to be a lot to cleanup after legalization, especially because of the complexity of expanding GEP and all kinds of vector operations. Can you provide some examples of simplifications in DAGCombine that you think that we won't need with this new infrastructure?

What might be better is to put some abstract interface between instcombine and the IR, so that instcombine can be run on these pseudo-MIs as well as on IR.

Thanks again,
Hal

>     *
> 
> Does it still work if we constrain the instruction simplifier to
> creating legal operations?
> 

[snip]
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list