1/* { dg-options "-O2 -fdump-ipa-profile-blocks-details -fdump-tree-optimized-blocks-details" } */ 2int max = 33333; 3int a[8]; 4int 5main () 6{ 7 int i; 8 for (i = 0; i < max; i++) 9 { 10 a[i % 8]++; 11 } 12 return 0; 13} 14/* Loop header copying will peel away the initial conditional, so the loop body 15 is once reached directly from entry point of function, rest via loopback 16 edge. */ 17/* { dg-final-use { scan-ipa-dump "loop depth 1, count 33334" "profile"} } */ 18/* { dg-final-use { scan-tree-dump "loop depth 1, count 33333" "optimized"} } */ 19/* { dg-final-use { scan-tree-dump-not "loop depth 1, count 33332" "optimized"} } */ 20/* { dg-final-use { scan-tree-dump "Removing basic block" "optimized"} } */ 21/* { dg-final-use { scan-tree-dump-not "Invalid sum" "optimized"} } */ 22/* { dg-final-use { cleanup-ipa-dump "profile" } } */ 23/* { dg-final-use { cleanup-tree-dump "optimized" } } */ 24