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
This commit is contained in:
Tobias Grosser 2014-01-28 13:43:24 +00:00
parent 458fb78cfa
commit ab2227a505
1 changed files with 5 additions and 2 deletions

View File

@ -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;
}