------- Comment #5 from ubizjak at gmail dot com 2007-02-24 23:24 ------- (In reply to comment #4) > Hi, > testing for expected_size is wrong here - with profile feedback, expected_size > is average size of the block and thus can be smaller than actual size of the > block being copied. > In general we should in this case end up using move_by_pieces so we won't > produce the loop anyway, but still there should be loop header test emitted, I > am just looking on why it is skipped.
Please note, that the proposed patch in gcc-patches ML is a bit different and also removes loops when number of iterations is 1. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30778