summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2014-01-28 13:43:24 +0000
committerTobias Grosser <tobias@grosser.es>2014-01-28 13:43:24 +0000
commitab2227a5056231c44ae07f3572cfe25e5e3c4dad (patch)
tree10f6ae0a417acd1f606fbe17828cfadbea450916
parent458fb78cfa57cddb1410c58376421807b4e64b81 (diff)
downloadbcm5719-llvm-ab2227a5056231c44ae07f3572cfe25e5e3c4dad.tar.gz
bcm5719-llvm-ab2227a5056231c44ae07f3572cfe25e5e3c4dad.zip
Do not verify the base addresses
Verification of base addresses is difficult as the independent blocks pass may introduce aliasing that was not there during scop detection. As a midterm solution -polly-codegen-scev will remove the need for the independent blocks pass. For now, we do not verify at compile time that the independent blocks pass does not make the base addresses loop invariant. Disabling this just removes one of the multiple safety layers we have. We still can check for correctness in our regression tests. llvm-svn: 200315
-rw-r--r--polly/lib/Analysis/ScopDetection.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp
index 87314b88200..2e6bc31285c 100644
--- a/polly/lib/Analysis/ScopDetection.cpp
+++ b/polly/lib/Analysis/ScopDetection.cpp
@@ -420,8 +420,11 @@ bool ScopDetection::isValidMemoryAccess(Instruction &Inst,
// Check that the base address of the access is invariant in the current
// region.
if (!isInvariant(*BaseValue, Context.CurRegion)) {
- INVALID(AffFunc,
- "Base address not invariant in current region:" << *BaseValue);
+ // Verification of this property is difficult as the independent blocks
+ // pass may introduce aliasing that we did not have when running the
+ // scop detection.
+ INVALID_NOVERIFY(
+ AffFunc, "Base address not invariant in current region:" << *BaseValue);
return false;
}
OpenPOWER on IntegriCloud