[Patch Ping] [RFC] Alias export patch
Tue Apr 25 16:55:00 GMT 2006
-----BEGIN PGP SIGNED MESSAGE-----
I've been looking at the patch (sorry it has taken so long) and I have
some questions about the approach.
You don't seem to be getting good results out of this, so there is
something that we are either doing wrong at the GIMPLE level or the
translation is losing information.
I *think* it's the latter, but I am not completely sure. If I
understand de patch correctly, it has two major components: (1)
points-to sets from SSA names are aggregated into the pointer DECL, (2)
those sets are then used to compute the extended alias sets which are
used in the basic alias predicates. There is also a set of new alias
disambiguation predicates that use this information or displacement
information for mem stacks to see if they overlap.
Is that a rough summary of your approach? If so, then perhaps we need
to re-think step #1. If you aggregate all the points-to sets from SSA
names into the base decl, I think that you won't be better off than
using the type aliasing directly.
What if instead of exporting the information into the base decls we did
it on the RTL registers? This would mean changing the out-of-ssa phase.
What I'm thinking is to create a different RTL register per SSA name
and add the points-to sets to each of these registers. This would
preserve our flow-sensitive points-to information.
Similarly when lowering INDIRECT_REFs, the memory expressions that get
created would use the memory tag associated with the INDIRECT_REF, which
would give you a potentially different points-to set per mem.
Andrew Macleod was thinking of changing the out-of-ssa phase, but I am
not sure what he had in mind. Andrew, would something like this be doable?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
-----END PGP SIGNATURE-----
More information about the Gcc-patches