------- Comment #23 from hubicka at gcc dot gnu dot org 2008-02-07 12:30 ------- Created an attachment (id=15115) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15115&action=view) Annotated profile
I am attaching dump with profile read in. It shows the hot spots in longest_match at least: (this is first conditional of the continue guard) # BLOCK 27 freq:10000 count:1346119696 # PRED: 6 [100.0%] count:112241556 (fallthru) 25 [99.5%] count:1233878140 (true,exec) # scan_end_13 = PHI <scan_end_106(6), scan_end_14(25)> # scan_end1_11 = PHI <scan_end1_93(6), scan_end1_12(25)> # best_len_8 = PHI <best_len_25(6), best_len_9(25)> # scan_3 = PHI <scan_24(6), scan_6(25)> # chain_length_2 = PHI <chain_length_108(6), chain_length_105(25)> # cur_match_1 = PHI <cur_match_109(6), cur_match_104(25)> match_40 = &window + cur_match_1; best_len.31_41 = (unsigned int) best_len_8; D.2379_42 = match_40 + best_len.31_41; D.2380_43 = *D.2379_42; if (D.2380_43 != scan_end_13) goto <bb 10>; else goto <bb 7>; # SUCC: 10 [0.1%] count:33977 (true,exec) 11 [99.9%] count:48979565 (false,exec) # BLOCK 10 freq:9636 count:1297140131 # PRED: 27 [87.5%] count:1177665163 (true,exec) 7 [55.2%] count:93018627 (true,exec) 8 [35.0%] count:26422364 (true,exec) 9 [0.1%] count:33977 (true,exec) goto <bb 24>; (this is the continue statement) D.2391_102 = cur_match_1 & 32767; D.2392_103 = prev[D.2391_102]; cur_match_104 = (IPos) D.2392_103; if (limit_15 >= cur_match_104) goto <bb 26>; else goto <bb 25>; # SUCC: 26 [7.7%] count:104056913 (true,exec) 25 [92.3%] count:1240391903 (false,exec) # BLOCK 25 freq:9215 count:1240391903 # PRED: 24 [92.3%] count:1240391903 (false,exec) chain_length_105 = chain_length_2 + 0x0ffffffff; if (chain_length_105 != 0) goto <bb 27>; else goto <bb 26>; (this is end of outer loop) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33761