------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen 
dot de  2005-01-29 21:14 -------
Or we could simply unroll the loop completely, but while SCEV finds
the IV as

(set_scalar_evolution
  (scalar = this_6)
  (scalar_evolution = {(struct Foo * const) &x.foo[2] - 4B, +, -4B}_1))
)

it does not know about the number of iterations:

(set_nb_iterations_in_loop = scev_not_known))

  # BLOCK 1 
  # PRED: 3 [100.0%]  (fallthru) 0 [100.0%]  (fallthru,exec)
Invalid sum of incoming frequencies 10258, should be 10000
  # thisD.1628_1 = PHI <thisD.1628_6(3), &xD.1600.fooD.1587[2](0)>;
<L2>:;
  thisD.1628_6 = thisD.1628_1 - 4;
  if (thisD.1628_6 == &xD.1600.fooD.1587) goto <L6>; else goto <L10>;
  # SUCC: 2 [11.0%]  (loop_exit,true,exec) 3 [89.0%]  (dfs_back,false,exec)
  
  # BLOCK 3 
  # PRED: 1 [89.0%]  (dfs_back,false,exec)
<L10>:;
  goto <bb 1> (<L2>); 
  # SUCC: 1 [100.0%]  (fallthru)

-- 


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

Reply via email to