diff options
| author | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2016-04-10 09:50:10 +0000 |
|---|---|---|
| committer | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2016-04-10 09:50:10 +0000 |
| commit | 561d36b32011407383ad9f439fe1144101e05092 (patch) | |
| tree | ec68f47f64af62ffdafd6db302d9bcb71183749c /polly/lib/Analysis/ScopDetection.cpp | |
| parent | 35db8ecb502c6d0446333afe336c097d1da8b70c (diff) | |
| download | bcm5719-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.cpp | 6 |
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); |

