[LLVMdev] IR Passes and TargetTransformInfo: Straw Man

Hal Finkel hfinkel at anl.gov
Mon Jul 29 20:43:35 PDT 2013


----- Original Message -----
> I personally strong abhor this kind of thing:-) I guess I should be
> more
> open-minded.

In my opinion, there are really two different kinds of uses for automated optimization:

 1. Fundamental design questions (such as the overall structure of the pass schedule). For these, using an optimization algorithm can be interesting, but mostly just to make sure that things are working as we expect.

 2. Purely empirical questions (such as exactly where to run instcombine). For these questions the overall design provides a range of theoretically-equally-good configurations, and picking an optimum based on compile-time-vs-code-performance for different optimization levels (for some particular set of target applications) is a perfectly justifiable use of autotuning.

 -Hal

> 
> For pre-ipo phase, some passes should not invoke, say, any loop
> nest-opt, loop version, aggressive loop unrolling,
> vectorization, aggressive inling.
> 
> The reasons are they will hinder the downstream optimizers if they
> kick
> in early.
> 
> > Out of curiosity, has anyone tried to optimize the pass ordering in
> > some (quasi-)automated way? Naively, a genetic algorithm seems
> > like a perfect fit for this.
> >
> >   -Hal
> >
> >> Shall we
> >> start a new doc under LLVM subsystems?
> >>
> >> -Andy
> >> _______________________________________________
> >> 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