On Thu, Jun 25, 2009 at 8:11 PM, Manuel
López-Ibáñez<lopeziba...@gmail.com> wrote:
> 2009/6/23 Ian Lance Taylor <i...@google.com>:
>> Paolo Bonzini <bonz...@gnu.org> writes:
>>
>>> I don't think this warning can report anything that -Wuninitialized
>>> cannot report, so it should go in -Wc++-compat only.
>>
>> For the record, it can, as in when compiling this case without
>> optimization.  This is not a strong example by any means.
>
> This is a part of SSA that I don't understand completely. We create a
> var_decl for i in the following assignment:
>
> D.1606_1 = i;
>
> because i is loaded from memory. But then, because there is no alias
> info, there are no vuse/vdef operators for this statement. So we

The only reason there is no VUSE/VDEF at -O0 is that we never need
it, so we omit it for efficiency reasons.  We have enough information
at -O0 to add them should we need them.

Richard.

> actually do not know if this vuse is the default definition of i. Is
> there no way to know this without alias info? In the dump, it looks
> like this could be known:
>
> f1 ()
> {
>  intD.0 iD.1605;
>  intD.0 D.1606;
>
>  # BLOCK 2
>  # PRED: ENTRY (fallthru)
>  # SUCC: 3 (fallthru)
>
>  # BLOCK 3, starting at line 10
>  # PRED: 2 (fallthru)
> lab1L.0:
>  [test.c : 10:4] D.1606_1 = iD.1605;
>  return D.1606_1;
>  # SUCC: EXIT
>
> }
>
> BTW, why the dump and the output of debug_gimple_stmt are so different?
>
> Cheers,
>
> Manuel.
>

Reply via email to