RegionInfo: Correctly expand regions
authorTobias Grosser <tobias@grosser.es>
Sun, 25 Oct 2015 22:55:59 +0000 (22:55 +0000)
committerTobias Grosser <tobias@grosser.es>
Sun, 25 Oct 2015 22:55:59 +0000 (22:55 +0000)
commitaaf72bc7c6afd0ec80978baf3e6a2ca5b4011914
treedc81fb22e2c2701544c460d45b9aa4bf0cb5177a
parent165b4f4e463eafb4a609a4b25362ca70b9eee8ef
RegionInfo: Correctly expand regions

Instead of playing around with dominance to verify if the possible expansion of
a scop region is indeed a single entry single exit region, we now distinguish
two cases. In case we only append a basic block, all edges entering this basic
block need to have come from within the region that is expanded. In case we join
two regions, the source basic blocks of the edges that end at the entry node of
the region that is appended most be part of either the original region or the
region that is appended.

This change will be tested through Polly.

This fixes llvm.org/PR25242

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251267 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/RegionInfoImpl.h