[tree-ssa] reaching def. question

Devang Patel dpatel@apple.com
Tue Mar 16 23:10:00 GMT 2004


On Mar 16, 2004, at 2:57 PM, Diego Novillo wrote:

> On Tue, 2004-03-16 at 17:30, Devang Patel wrote:
>
>>    # BLOCK 1
>>    # PRED: 15 [100.0%]  (fallthru) 13 [100.0%]  (fallthru)
>>    # A_11 = PHI <A_10(13), A_3(15)>;
>>    # i_22 = PHI <i_20(15), 0(13)>;
>> <L0>:;
>>    T.0_19 = if (1)
>>      {
>>        A[i_22];
>>      }
>>    else
>>      {
>>        A_26
>>      };
>>
> A_26?

yup. That's when I realized something is wrong hence original question.

> You seem to have a memory problem here.  Are you sure the
> operands for COND_EXPR are setup properly?  How did we end up with A
> when we had T.0?

No idea.
OK, so rewriter is suppose to handle this (use of variable before it is
defined) and there is a problem somewhere. I will investigate this.

>  Or did you mean T.0_26?  Which is also bad.  If you
> want, point me to the patch and I'll take a look.

I'll try if I can extract short patch which is meaningful and send it
to you offline.

> Side note.  If you give the COND_EXPR a non-void type, it will be
> rendered as ?:, which is much more legible.  I would create it with
> TREE_TYPE (TREE_OPERAND (stmt, 0)).

good idea.

Thank you,
--
Devang



More information about the Gcc mailing list