While working on improvements to the region info analysis, this test case caused an incorrect region bb2 => bb3 to be detected.
It is incorrect because bb2 has an outgoing edge to bb4.
This is interesting because bb2 dom bb3 and bb3 pdom bb2, which should have been enough to prevent incoming forward edges into the region and outgoing forward edges from the region.
Details
Diff Detail
Event Timeline
Hi Nandini,
thanks for the test case. Could you please run '-instnamer' over the test case, to get easier readable and modifiable instruction names. Please add also CHECK lines that verify that the output of the region analysis is correct.
Best,
Tobias
Sorry for the delay.
The output of opt -instnamer was the same as before (maybe because the bb names are not tmp?).
Hi Nandini,
it seems your patch indeed renamed the basic block names from "0" (which means no name) to "bb0". That was precisely the effect I expected.
Now, you now unfortunately only submitted the diff between the previous and the new state of your change, instead of the diff between the current LLVM trunk and your patch. This is a common misunderstanding with phabricator. What you want to do is to rebase your patch and merge the different patches into a single one, which you then submit as new update of this patch. Could you please do this final update, such that I can then commit your patch.
Best,
Tobias