summaryrefslogtreecommitdiffstats
path: root/polly/lib
diff options
context:
space:
mode:
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>2016-04-25 13:34:50 +0000
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>2016-04-25 13:34:50 +0000
commite4459a24ccd0b1754a0c5e3e5d23402f6a6f8d02 (patch)
treecdc965c4e88c5b36d459bc60516b5194c2de7699 /polly/lib
parentf560b3d2db8565a05c8fd0aca364f96d5d177f3d (diff)
downloadbcm5719-llvm-e4459a24ccd0b1754a0c5e3e5d23402f6a6f8d02.tar.gz
bcm5719-llvm-e4459a24ccd0b1754a0c5e3e5d23402f6a6f8d02.zip
Do not propagate invalid domains over back edges
llvm-svn: 267402
Diffstat (limited to 'polly/lib')
-rw-r--r--polly/lib/Analysis/ScopInfo.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index e1ef23c98c2..6ad607e62ac 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -2370,6 +2370,10 @@ void Scop::propagateInvalidStmtDomains(Region *R, ScopDetection &SD,
if (!SuccStmt)
continue;
+ // Skip backedges.
+ if (DT.dominates(SuccBB, BB))
+ continue;
+
auto *SuccBBLoop = getFirstNonBoxedLoopFor(SuccBB, LI, BoxedLoops);
auto *AdjustedInvalidDomain = adjustDomainDimensions(
*this, isl_set_copy(InvalidDomain), BBLoop, SuccBBLoop);
OpenPOWER on IntegriCloud