Jakob Stoklund Olesen 6be75ae196 Don't crash on extra evil irreducible control flow.
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165434 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-08 22:06:44 +00:00
..
2012-09-20 19:54:13 +00:00
2012-09-27 16:34:19 +00:00
2012-08-17 12:28:26 +00:00
2012-08-17 12:28:26 +00:00
2012-09-28 20:26:33 +00:00
2012-08-17 12:28:26 +00:00
2012-09-12 21:43:09 +00:00
2012-08-31 20:12:31 +00:00
2012-09-17 18:05:20 +00:00
2012-10-01 16:44:04 +00:00
2012-09-26 08:24:51 +00:00
2012-09-26 08:24:51 +00:00
2012-09-26 08:24:51 +00:00
2012-09-26 08:24:51 +00:00
2012-09-01 00:17:06 +00:00