"Daniel Berlin" <[EMAIL PROTECTED]> 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.