summaryrefslogtreecommitdiffstats
path: root/polly/lib/Support/SCEVAffinator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/Support/SCEVAffinator.cpp')
-rw-r--r--polly/lib/Support/SCEVAffinator.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/polly/lib/Support/SCEVAffinator.cpp b/polly/lib/Support/SCEVAffinator.cpp
index 14603e1aad9..02f13c18623 100644
--- a/polly/lib/Support/SCEVAffinator.cpp
+++ b/polly/lib/Support/SCEVAffinator.cpp
@@ -15,6 +15,7 @@
#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "polly/Support/GICHelper.h"
+#include "polly/Support/ISLOperators.h"
#include "polly/Support/SCEVValidator.h"
#include "polly/Support/ScopHelper.h"
#include "isl/aff.h"
@@ -162,7 +163,8 @@ isl::pw_aff SCEVAffinator::addModuloSemantic(isl::pw_aff PWA,
isl::set Domain = PWA.domain();
isl::pw_aff AddPW =
isl::manage(getWidthExpValOnDomain(Width - 1, Domain.take()));
- return PWA.add(AddPW).mod(ModVal).sub(AddPW);
+
+ return ((PWA + AddPW) % ModVal) - AddPW;
}
bool SCEVAffinator::hasNSWAddRecForLoop(Loop *L) const {
OpenPOWER on IntegriCloud