Skip to content
  • Chandler Carruth's avatar
    Rework a bit of the implementation of loop block rotation to not rely so · a0545809
    Chandler Carruth authored
    heavily on AnalyzeBranch. That routine doesn't behave as we want given
    that rotation occurs mid-way through re-ordering the function. Instead
    merely check that there are not unanalyzable branching constructs
    present, and then reason about the CFG via successor lists. This
    actually simplifies my mental model for all of this as well.
    
    The concrete result is that we now will rotate more loop chains. I've
    added a test case from Olden highlighting the effect. There is still
    a bit more to do here though in order to regain all of the performance
    in Olden.
    
    llvm-svn: 145179
    a0545809
Loading