This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Marking variable as addressable from within SSA pass
- From: Richard Henderson <rth at redhat dot com>
- To: Bonzini <bonzini at gnu dot org>
- Cc: gcc at gnu dot org
- Date: Fri, 19 Mar 2004 12:00:37 -0800
- Subject: Re: Marking variable as addressable from within SSA pass
- References: <20040319160636.GA22342@fencepost>
On Fri, Mar 19, 2004 at 11:06:36AM -0500, Bonzini wrote:
> The pass takes, for example,
>
> V4QI T_1;
> V4QI T_2;
> V4QI T_3;
> T_3 = T_1 & T_2;
>
> and converts it into
>
> V4QI T_1;
> V4QI T_2;
> V4QI T_3;
> unsigned int *T_4;
> unsigned int *T_5;
> unsigned int *T_6;
> unsigned int T_7;
> unsigned int T_8;
> T_4 = (unsigned int *) &T_1;
> T_5 = (unsigned int *) &T_2;
> T_6 = (unsigned int *) &T_3;
> T_7 = *T_4;
> T_8 = *T_5;
> T_9 = T_4 & T_5;
> *T_6 = T_9;
You do not want to do this. Addressing variables SEVERELY pessimizes
the code. Use a VIEW_CONVERT_EXPR to change the type instead.
r~