This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] copy propagation and the abstraction penalty
On Thu, May 15, 2003 at 10:10:22AM -0400, Diego Novillo wrote:
> I'm also wondering if we could change the
> may-alias between this and UV2150 to a must-alias, which would
> completely free this program from aliasing problems:
Indeed. And for this case I definitely think it's the right thing to do.
IMO constant propagation should be able to take
T.8_2 = &<UVa150>;
{
struct complex * const this;
this_3 = (struct complex * const)T.8_2;
{
this->re = 1.0e+0;
and turn it into
(&<UVa150>)->re = 1.0e+0
which folds to
<UVa150>.re = 1.0e+0
At which point we have no aliasing problem, and a subsequent round
of constant propagation ought to be able to send 1.0e+0 to its
destination.
r~