Much like inlining, profile information is useful for a loop optimizer to see if transformations like unrolling and unswitching are profitable. In hot regions, such transformations may be profitable, while in cold regions, they just cause code bloat.