This is the mail archive of the gcc@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: Loop optimizer issues



On Tuesday, July 29, 2003, at 1:56 PM, Zack Weinberg wrote:


Diego Novillo <dnovillo@redhat.com> writes:

I've been thinking about this proposal and I am not convinced that it
would be a good idea to merge the two branches.
...

You give some good reasons from the point of view of the people
working on the tree-ssa branch.

Unfortunately, I think the larger picture says something different:

    * rtlopt is not getting merged into mainline for 3.4 unless we
      make a special exception to the rules.
    * tree-ssa is slated to be merged very early in 3.5 stage 1.
    * At that point tree-ssa may well include the total removal of
      the RTL loop optimizer, which would leave rtlopt with nothing
      to merge into.
    * But tree-ssa can usefully incorporate ideas from rtlopt if
      they're made visible to it now.

This is an assumption.
The RTL loop optimizer is not SSA based, and we want most, if not all, of our loop opts to be SSA based. This is a large strike against it IMHO.
It may be nice to share code with the RTL loop optimizer, but i'd rather see nice SSA based loop optimizations that are easy to maintain (by themselves), fast, and good at what they do.



To me, that says that there are effectively three choices:


    * Merge rtlopt into tree-ssa now and deal with the pain.
    * Merge rtlopt into mainline now and deal with the pain.
    * Throw rtlopt away now.

Given what Zdenek said about the state of play on his branch, I am
inclined toward option 1.

I would be inclined toward option 2, particularly since there is no evidence that that rtlopt furthers the ssa part of tree-ssa, or ever will.


I am not opposed to option 2 if we all
agree to make a push and finish fixing the thing on the mainline; this
would have the advantage of getting a better loop optimizer for 3.4
but risks release delays.  Option 3 seems like a heinous waste.

zw


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