This enables one to ensure via the FileCheck tests that one has not by mistake
pattern matched one dump in another dump. Of course since we check the start
already, the whole test wouldn't pass, but debugging where one messed up the
pattern matching was more difficult since one had to make sure that one was
matching the appropriate FileCheck test.
We already computed this information so this is just storing information
we were already computing.
One thing to note is that in code with canonicalized loops, we will
always only have one backedge. But we would like loop region to be
correct even in the case of non-canonicalized code so we support having
multiple back edges. But since the common case is 1 backedge, we
optimize for that case.
This commit contains updated tests and also updates to the loop region graph
viewer so that it draws backedges as green arrows from the loop to its backedge
subregions. The test updates were done by examining each test case by hand.
I need this for loop-arc since I need to be able to analyze all "loop-exits"
when I just have the parent loop region. We are already computing this
information and throwing it away, so there should be no compile time impact.