This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] reaching def. question



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]