Problem with operand handling
Andrew Pinski
pinskia@physics.uc.edu
Tue Sep 7 16:41:00 GMT 2004
On Sep 4, 2004, at 7:51 AM, Richard Kenner wrote:
> When I work around the problem with lcm.c, I then get:
>
> ../../xgcc -B../../ -c -g -O2 -W -Wall -gnatpg g-exctra.adb -o
> g-exctra.o
> +===========================GNAT BUG
> DETECTED==============================+
> | 5.03h (20040831) (x86_64-unknown-linux-gnu) GCC error:
> |
> | in var_ann, at tree-flow-inline.h:38
> |
>
> Upon investigating, I find I don't understand something about
> tree-ssa-operands.
>
> It looks like add_stmt_operand is supposed to be passed a pointer to
> the
> operand. But in a number of places in tree-ssa-operands.c, you have
>
> tree var = referenced_var (i);
>
> add_stmt_operand (&var, ...);
>
> But this puts a pointer into the stack of that function into the
> operands
> of the statement. That looks very wrong and seems to be causing my
> problem.
> How is that supposed to work?
Usually this means someone forgot to mark something as needed for
renaming. I have ran this myself when writing some SSA based
optimizations and forgot to mark a variable for renaming.
Thanks,
Andrew Pinski
More information about the Gcc
mailing list