Skip to content
  • Jakob Stoklund Olesen's avatar
    Don't crash on extra evil irreducible control flow. · 9d1173a8
    Jakob Stoklund Olesen authored
    When the CFG contains a loop with multiple entry blocks, the traces
    computed by MachineTraceMetrics don't always have the same nice
    properties. Loop back-edges are normally excluded from traces, but
    MachineLoopInfo doesn't recognize loops with multiple entry blocks, so
    those back-edges may be included.
    
    Avoid asserting when that happens by adding an isEarlierInSameTrace()
    function that accurately determines if a dominating block is part of the
    same trace AND is above the currrent block in the trace.
    
    llvm-svn: 165434
    9d1173a8
Loading