summaryrefslogtreecommitdiffstats
path: root/polly/lib/Analysis/ScopDetection.cpp
diff options
context:
space:
mode:
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>2016-04-10 09:50:10 +0000
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>2016-04-10 09:50:10 +0000
commit561d36b32011407383ad9f439fe1144101e05092 (patch)
treeec68f47f64af62ffdafd6db302d9bcb71183749c /polly/lib/Analysis/ScopDetection.cpp
parent35db8ecb502c6d0446333afe336c097d1da8b70c (diff)
downloadbcm5719-llvm-561d36b32011407383ad9f439fe1144101e05092.tar.gz
bcm5719-llvm-561d36b32011407383ad9f439fe1144101e05092.zip
Allow pointer expressions in SCEVs again.
In r247147 we disabled pointer expressions because the IslExprBuilder did not fully support them. This patch reintroduces them by simply treating them as integers. The only special handling for pointers that is left detects the comparison of two address_of operands and uses an unsigned compare. llvm-svn: 265894
Diffstat (limited to 'polly/lib/Analysis/ScopDetection.cpp')
-rw-r--r--polly/lib/Analysis/ScopDetection.cpp6
1 files changed, 0 insertions, 6 deletions
diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp
index 8fe33db1c38..e5914df44f1 100644
--- a/polly/lib/Analysis/ScopDetection.cpp
+++ b/polly/lib/Analysis/ScopDetection.cpp
@@ -399,12 +399,6 @@ bool ScopDetection::isValidBranch(BasicBlock &BB, BranchInst *BI,
isa<UndefValue>(ICmp->getOperand(1)))
return invalid<ReportUndefOperand>(Context, /*Assert=*/true, &BB, ICmp);
- // TODO: FIXME: IslExprBuilder is not capable of producing valid code
- // for arbitrary pointer expressions at the moment. Until
- // this is fixed we disallow pointer expressions completely.
- if (ICmp->getOperand(0)->getType()->isPointerTy())
- return false;
-
Loop *L = LI->getLoopFor(ICmp->getParent());
const SCEV *LHS = SE->getSCEVAtScope(ICmp->getOperand(0), L);
const SCEV *RHS = SE->getSCEVAtScope(ICmp->getOperand(1), L);
OpenPOWER on IntegriCloud