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] New regressions as of 2003-11-04


In message <1067979853.7039.50.camel@p4>, Andrew MacLeod writes:
 >On Tue, 2003-11-04 at 15:51, law@redhat.com wrote:
 >> In message <1067956749.23315.3.camel@frodo.toronto.redhat.com>, Diego Novil
 >lo w
 >> rites:
 >
 >> That in turn allows the final dominator optimizer to propagate things
 >> a little further and after removing dead code we have:
 >> 
 >>   # block 2.  pred: 0.  succ: 4 3.
 >>   <U44fc>:;;
 >>   if (set_2 != -1)
 >>     {
 >>       goto <U4658>;
 >>     }
 >>   else
 >>     {
 >>       goto <U89f8>;
 >>     };
 >> 
 >>   # block 4.  pred: 2.  succ: 3.
 >>   <U89f8>:;;
 >>   (void)0;
 >>   goto <U4658>;;
 >>   (void)0;
 >> 
 >>   # block 3.  pred: 2 4.  succ: -2.
 >>   #   set_1 = PHI <-1(4), 0(2)>;
 >>   <U4658>:;;
 >>   return set_1;;
 >> }
 >> 
 >
 >Aren't we doing any threading during cleanup_tree_cfg()?
You can't thread those jumps because the the target has a PHI node.  If
you threaded them you'd generate something like

# block 2
if (set != -1)
  {
    goto lab;
  }
else
  {
    goto lab;
  }


lab:
  set_1 = PHI (-1 (2), 0 (2))

Which causes all kinds of headaches :(

jeff

Jeff


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