Vladimir N. Makarov wrote:
Good aliasing is very important for the scheduler. But I'd look at this more wider. We need a good aliasing for many RTL optimizations. What's happened to ISP RAS aliasing patch propagating SSA info to RTL? Why is it stalled?
We'll plan to work on it further in the near future. The initial plan was to update it to trunk, then to gather the new numbers of disambiguations and stuff, then to check the consistency of the saved information via some verifier.

As for Sanjiv Gupta's aliasing work, that was interesting but as I remember the patch made compiler too slow (like 40% slower). You should make this approach faster to make it accepted as used by default.
Alexander Monakov was working on it in the last year (CC'd). I have looked through his paper to recall what was done:

- instead of iterating over cfg, a single iteration in topological order was made to calculate address descriptors (which was enough for using this info in the scheduler); - instead of one per-function hashtable for all address descriptors, separate per-bb hashtables were introduced, lowering the time needed to access hashtables; - instead of saving out lists of descriptors for each bb, in lists were saved (and not recalculated several times); - saving descriptors for each mem instead of each bb. Earlier, when an aliasing query was made, we've searched for insns corresponding to mems via hashtable, then reanalyzed a basic block up to that insns, then answered on the query using calculated address descriptors. After the fix, we've just got the final descriptor from the first hashtable, then answered the query.

After all fixes, bootstrap and cc1-i-files compiled slower on 2%. The compiler built with the patch enabled compiled tramp3d on 0.5% faster and produced 0.6% faster code. We'll dig out this patch together with the rest of aliasing patches and will send it as a RFC. It is my mistake for not doing this earlier.

If you need benchmarking for machines (like ppc) you have no access to, I can provide the benchmarking.
That's great, because we have access to powerpc750 only. I have used it to try the scheduler on ppc, but that was slow.

I really appreciate. May be if you or ISP RAS could find students (e.g. from Moscow University) to do this as Google Summer Code, it could help you. I think it is not too late. You should ask Ian Taylor or Daniel Berlin, if you want to do this.
We'll work on aliasing anyways (see above). Three students are working with us, but they are busy with different projects. I'll ask my advisor about it.

Andrey

Reply via email to