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] Fix RTL DSE compile time hog (PR rtl-optimization/48141)


On 03/16/2011 12:59 PM, Richard Guenther wrote:
On Wed, Mar 16, 2011 at 12:52 PM, Jakub Jelinek<jakub@redhat.com> wrote:
On Wed, Mar 16, 2011 at 09:46:20AM +0100, Paolo Bonzini wrote:
On 03/16/2011 12:12 AM, Kenneth Zadeck wrote:
so how much time does this save?

I agree that this is a useful simplification, but it seems unlikely to
be that important in real code.
it seems like the 5000 store test would in general provide a better
safety valve.

I think having both is a good idea.

Here is the second patch, ok for both to trunk if this one passes bootstrap/regtest?

With just this patch alone on the testcase with the default
--param=max-dse-active-local-stores=5000 cc1 spends 18.9 seconds
in DSE1+DSE2, with =1000 just 4 seconds and with =10 0.4 seconds.
With the earlier patch in addition to this one the time in DSE1+DSE2
is 0.3 seconds no matter what the parameter is.

That suggests we can avoid the new param? (btw, we should start thinking of emitting a diagnostic if we run into such artificial limits)

Jakub's behavior is expected, since the number of active local stores should be 1 with the earlier patch in that testcase. However, similar artificial testcases can probably be constructed that still trigger the ill behavior.


But I agree that the first patch is enough for now, and in general for release branches, especially without a testcase for which DSE is really the top hog.

Thanks,

Paolo


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