This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cfg merge part 17 - loop datastructure updates


Hello.

>  > On CFG branch we do have some other loop structure analysers in
>  > cfgloopanal.c and they works differently - do not save the results to
>  > prepared fields of loop structure, instead they just return it.  For
>  > isntance code to discover invariants simply have it's own structure
>  > containing bitmap of invariant defs.
>  > 
>  > I believe it is saner API.  I think main motivation of Michael has been
>  > the current design of loop optimizer, but with the idea of designing
>  > loop as multiple passes (unroller, strength reduction and so on), I
>  > think it is cleaner to not do that.
>  > 
>  > So I would suggest to not invest much energy to flow_scan_loop and
> I disagree.  The information computed there is extremely valuable elsewhere.
> 
> For example, it's useful in scheduling, register allocation/reloading, 
> creating of low-overhead looping instructions, live range splitting, etc.

But this is not a reason to store it inside the structure. By doing so,
it gives a feeling that it will remain up to date, while this is not
true after almost any changes.

Zdenek


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]