[polly] r200315 - Do not verify the base addresses

Tobias Grosser tobias at grosser.es
Tue Jan 28 05:43:25 PST 2014


Author: grosser
Date: Tue Jan 28 07:43:24 2014
New Revision: 200315

URL: http://llvm.org/viewvc/llvm-project?rev=200315&view=rev
Log:
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.

Modified:
    polly/trunk/lib/Analysis/ScopDetection.cpp

Modified: polly/trunk/lib/Analysis/ScopDetection.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/ScopDetection.cpp?rev=200315&r1=200314&r2=200315&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/ScopDetection.cpp (original)
+++ polly/trunk/lib/Analysis/ScopDetection.cpp Tue Jan 28 07:43:24 2014
@@ -420,8 +420,11 @@ bool ScopDetection::isValidMemoryAccess(
   // 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;
   }
 





More information about the llvm-commits mailing list