http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55477
Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2012-11-27 AssignedTo|unassigned at gcc dot |hubicka at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-11-27 11:08:45 UTC --- Hmm, devirt-2 is also the case we do not inline because function is called once. With main renamed to main2 I get at -O3 int main2() () { <bb 2>: printf ("%d\n", 1); printf ("+1: %d\n", 2); printf ("%d\n", 2); printf ("+1: %d\n", 3); return 0; } from GCC-4.7 as well as from the mainline. Similarly for devirt-3.C. I will check why this is not matched by the heavy heuristic I invented for PR55478, but otherwise I think it is non-bug. Also in devirt-3 we no longer unroll the loop of 3 printf calls, that is IMO fine. We should add the updated testcases (with renamed main) to the testsuite IMO. Honza