diff options
Diffstat (limited to 'polly/lib/Analysis/ScopDetection.cpp')
| -rw-r--r-- | polly/lib/Analysis/ScopDetection.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp index 56e0259ffce..fb951c5055e 100644 --- a/polly/lib/Analysis/ScopDetection.cpp +++ b/polly/lib/Analysis/ScopDetection.cpp @@ -607,6 +607,9 @@ bool ScopDetection::isValidBranch(BasicBlock &BB, BranchInst *BI, const SCEV *LHS = SE.getSCEVAtScope(ICmp->getOperand(0), L); const SCEV *RHS = SE.getSCEVAtScope(ICmp->getOperand(1), L); + LHS = tryForwardThroughPHI(LHS, Context.CurRegion, SE, LI, DT); + RHS = tryForwardThroughPHI(RHS, Context.CurRegion, SE, LI, DT); + // If unsigned operations are not allowed try to approximate the region. if (ICmp->isUnsigned() && !PollyAllowUnsignedOperations) return !IsLoopBranch && AllowNonAffineSubRegions && |

