From 7ca8dc2d2df159c7f292b2e50fee7d2957986558 Mon Sep 17 00:00:00 2001 From: Johannes Doerfert Date: Wed, 9 Sep 2015 14:19:04 +0000 Subject: Disable support for pointer expressions The support for pointer expressions is broken as it can only handle some patterns in the IslExprBuilder. We should to treat pointers in expressions the same as integers at some point and revert this patch. llvm-svn: 247147 --- polly/lib/Analysis/ScopDetection.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'polly/lib/Analysis/ScopDetection.cpp') diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp index 06f1bfc68af..34e19648a0b 100644 --- a/polly/lib/Analysis/ScopDetection.cpp +++ b/polly/lib/Analysis/ScopDetection.cpp @@ -344,6 +344,12 @@ bool ScopDetection::isValidCFG(BasicBlock &BB, isa(ICmp->getOperand(1))) return invalid(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); -- cgit v1.2.3