------- Comment #11 from steven at gcc dot gnu dot org  2010-02-08 16:45 -------
Trunk today (r156595) optimizes this at -O1, -Os, and -O2 in the tree
optimizers. The .fre pass removes the first func call, then .dom1 removes the
next two. The .dom2 pass removes the remaining one.

If I add another, say, 10 lines of "if (outcnt == 1) func ();", then dom1
removes them all (even with -fno-tree-fre).

So something changed in (or for) DOM that allows it to clean up this mess
completely. I would like to know what... Perhaps the OP can try to bisect to
identify what was changed here (in the hope that it is something that can be
back-ported to GCC 4.4)?


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING


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

Reply via email to