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: [PATCH, 4.2] Backport Geode optimizations


On May 22, 2007, at 10:28 PM, Andrew Pinski wrote:
Except we already kept out SSSE3 support from 4.2, why would this be different.

We maximize the goodness of a release by using judgement. Not using judgment means we just wake up in the morning, slap a release tag on it and roll it out to the ftp site, we don't do that. Part of using judgement means making choice between two things using all available, relevant information and ones instincts. My experience is that the content of a patch can radically alter the quality of a patch, so, examining the patch itself it necessary for consideration. Now, on the other side, why consider it for a release branch? For the goodness it brings weighed against the risk of badness. Take for example a port that has been proven to not work well. Accepting any patch that makes it better, makes for a better release, so the tendency should be to put all these sorts of patches in to reduce the likelihood of a bad release, and people shouldn't give the maintainer of that port a hard time for doing so. Well designed software allows for the addition of new features and functionality with no risk or very little risk to the base set of features and functionalities. In that case, it doesn't hurt a release to so add them, assuming that they represent the direction we want to go.


Tuning parameters are they types of things that are a perfect fit for a minor release. Time to market is short, a good thing, applicability of the compiler to new chips, also a good thing, chances of it generating bad code, should be about zero, chances it messing up another target, zero, chances of it messing up a difference sub-port of the main port, should be very small, if the code is written well.

Please don't discourage people from adding goodness in general, because in a totally different case, you felt burned. That would be inappropriate revenge upon an innocent. If the person submitting the patch is the same person that burned you, call it out that way, say, you know, the last patch you put in (name of patch here), caused some unwanted and unexpected grief (laundry list of PRs here), so, I'd like to argue against this patch on that basis. If there is something directly relevant about the patch, say there was unexpected fallout from changing tuning parameters in the past on x86, and people might overlook that fact, you can say, you know, changing the tuning parameters on x86 sometimes introduces badness (list of PRs here) because the code is way more fragile than it should be, so, I caution against it, and because this chip isn't important enough, I think we ought not put it in, as the downside can include bad code generation for more popular parts.

I don't see the harm in using judgement. There is a cost, it takes time to backport and to review the work in light of where the work is going... but for those that want to do this, we should let them. For example, if the Fortran people, as a whole, want to put in radically new features into a minor release, to have a faster cycle than gcc would normally offer, there isn't anything inappropriate or wrong in my book. If I were on the Fortran team, and wanted to argue against it, I'd feel right at home arguing that case. If they cannot agree in general, then I think they should ask the RM to rule on the finer points of the plan so they can impose that plan on the patches they approve for the branch.

Mark's policy allows for port maintainers to enhance their ports with other than strict regressions on release branches, this is slightly different than the policy for the rest of the tree.


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