Skip to content
  • Chandler Carruth's avatar
    Introduce a loop block rotation optimization to the new block placement · 9ffb97e6
    Chandler Carruth authored
    pass. This is designed to achieve one of the important optimizations
    that the old code placement pass did, but more simply.
    
    This is a somewhat rough and *very* conservative version of the
    transform. We could get a lot fancier here if there are profitable cases
    to do so. In particular, this only looks for a single pattern, it
    insists that the loop backedge being rotated away is the last backedge
    in the chain, and it doesn't provide any means of doing better in-loop
    placement due to the rotation. However, it appears that it will handle
    the important loops I am finding in the LLVM test suite.
    
    llvm-svn: 145158
    9ffb97e6
Loading