------- Comment #10 from rguenth at gcc dot gnu dot org  2006-04-19 09:02 
-------
Now, we have

  /* Initial scalar cleanups.  */
  NEXT_PASS (pass_ccp);
  NEXT_PASS (pass_fre);
  NEXT_PASS (pass_dce);
  NEXT_PASS (pass_forwprop);
  NEXT_PASS (pass_copy_prop);
  NEXT_PASS (pass_merge_phi);
  NEXT_PASS (pass_vrp);
  NEXT_PASS (pass_dce);
  NEXT_PASS (pass_dominator);

where I would suggest changing that to

  NEXT_PASS (pass_ccp);
  NEXT_PASS (pass_forwprop);
  NEXT_PASS (pass_copy_prop);
(maybe even doing store copyprop here, instead of copyprop, trying to get rid
of the first dom pass)
  NEXT_PASS (pass_dce);
  NEXT_PASS (pass_fre);
  NEXT_PASS (pass_merge_phi);
  NEXT_PASS (pass_vrp);
  NEXT_PASS (pass_dce);
  NEXT_PASS (pass_dominator);

Now, there's definitely too little comments in the pass ordering to decide
what the particular reason is for the current state.  Another question is
what would be sufficient testing for a pass-reordering patch?  I suppose
we have testcases for optimizations that rely on a particular pass ordering,
so running say SPEC in addition to the testsuite should suffice?


-- 


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

Reply via email to