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
diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp
index 87314b8..2e6bc31 100644
--- a/polly/lib/Analysis/ScopDetection.cpp
+++ b/polly/lib/Analysis/ScopDetection.cpp
@@ -420,8 +420,11 @@
// 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;
}