This is the mail archive of the 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] splits after reload

> -----Original Message-----
> From:
> []On Behalf Of Joern Rennecke
> Sent: Wednesday, February 04, 2004 8:18 PM
> To:
> Cc:;;
> Subject: Re: [PATCH] splits after reload
> If reload_cse does the job remains subject to benchmarking. But even
> if it didn't, a new, separate pass would certainly be 
> cleaner, and pathologic
> time behaviour can be better avoided or rectified by 
> appropriate algorithms
> and data strctures. 

The problem I'm talking about is acute on SH. Please have
a look at the following thread. 

To avoid compile time overhead for other targets, a target hook
looked reasonable. Other targets can make use of that hook
(if some are facing similar problems) and solve their "target specific
problem in a target specific way".

Running a pass over all insns generated by the splitter looks expensive.
It sounds like if SH needs some optimization it has to pay "tax"
going through all the condition checks which are bound to be
the part of generic optimizer. 

reload_cse is not able to perform this optimization, even if
you run it after flow2. There is no code written in reload_cse for handling
such problems. Please correct me if I'm wrong.

If reload_cse () ought to do so, 
I feel that needs rewriting of reload_cse which certainly is not a
trivial task. The target hook should be acceptable in the meantime.

I agree that recombination is not the purpose of split_all_insns ().
But a target hook helps without harming any other target.
Please have a look at the patch and let me know what is wrong with it.

I'm thankful to you for your valuable time and suggestions.

Rakesh Kumar

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