[RFC] Improve Tree-SSA if-conversion - convergence of efforts
Tehila Meyzels
TEHILA@il.ibm.com
Wed Aug 1 11:02:00 GMT 2007
"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.
More information about the Gcc
mailing list