------- Additional Comments From law at redhat dot com  2004-12-28 23:31 -------
Yea, the code I've got lying around here to undo unprofitable const/copy
propagations definitely helps this code.   And better yet, we don't need
the full-blown version (which is queued for 4.1).  We can get by with the
very simplistic version.   For the testcase in comment #8 we generate the
following .optimized dump:

  # BLOCK 0
  # PRED: ENTRY [100.0%]  (fallthru,exec)
<L4>:;
  # SUCC: 1 [100.0%]  (fallthru,exec)

  # BLOCK 1
  # PRED: 0 [100.0%]  (fallthru,exec) 1 [89.0%]  (dfs_back,false,exec)
<L0>:;
  temp1 = temp2 * xlvj_ - temp3 * zlvj_;
  temp3 = temp2 * zlvj_ + temp3 * xlvj_;
  temp2 = temp1;
  if (temp3 != 0) goto <L2>; else goto <L0>;
  # SUCC: 2 [11.0%]  (loop_exit,true,exec) 1 [89.0%]  (dfs_back,false,exec)

  # BLOCK 2
  # PRED: 1 [11.0%]  (loop_exit,true,exec)
<L2>:;
  return yv1j_ * yv2j_;
  # SUCC: EXIT [100.0%]

}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19038

Reply via email to