Testcase: void DoHuffIteration(int); int f(int *a) { int i; int plaintextlen=*a; for(i = 0; i< 10000; i++) DoHuffIteration(*a); return *a - plaintextlen; }
--- CUT --- There is a load of *a after that loop even though we could have placed the load inside the loop after the call. -- Summary: PRE missing a load PRE which causes a loop to have two BBs Product: gcc Version: 4.2.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38497