------- Comment #14 from steven at gcc dot gnu dot org  2010-02-13 12:44 -------
Re. comment #12, if you mean the extra BB3, that one is not really "extra", it
comes from loop header copying, and it easy to clean up. I assume ifcvt cleans
this up?

Re. comment #12, yes that is expected, but most of those failures are easily
solved.

The bottom line IMHO is this:
* propagating constants into PHI args sometimes exposes things, but it conceals
more and does irreparable damage
* not propagating means we have to work harder in a few places (following
SSA_NAME_DEF_STMT in a few places) to avoid missing optimizations, but at least
we never make the code worse than the original code

(and aoliva would add that we get debug info right if we don't propagate...)


-- 


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

Reply via email to