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: [RFC] Improve Tree-SSA if-conversion - convergence of efforts


"Daniel Berlin" <dberlin@dberlin.org> wrote on 31/07/2007 18:00:57:

>
> I agree with you for conditional stores/loads.

Great!

>
> The unconditional store/load stuff, however, is exactly what
> tree-ssa-sink was meant to do, and belongs there (this is #3 above).
> I'm certainly going to fight tooth and nail against trying to shoehorn
> unconditional store sinking into if-conv.

Sometimes, store-sinking can cause performance degradations.
One reason for that, is increasing register pressure, due to extending life
range of registers.

In addition, in case we have a store followed by a branch, store sinking
result will be a branch followed by a store.
On some architectures, the former can be executed in parallel, as opposed
to the latter.
Thus, in this case, it worth executing store-sinking only when it helps the
if-conversion to get rid of the branch.

How do you suggest to solve this problem, in case store-sinking will be
part of the tree-sink pass?

Another point, what about (unconditional) load hoisting:
It's surely not related to sink pass, right?

Tehila.


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