[polly] r247278 - Disable support for modulo expressions
Johannes Doerfert via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 10 05:56:47 PDT 2015
Author: jdoerfert
Date: Thu Sep 10 07:56:46 2015
New Revision: 247278
URL: http://llvm.org/viewvc/llvm-project?rev=247278&view=rev
Log:
Disable support for modulo expressions
The support for modulo expressions is not comlete and makes the new
domain generation harder. As the currently broken domain generation
needs to be replaced, we will first swap in the new, fixed domain
generation and make it compatible with the modulo expressions later.
Modified:
polly/trunk/lib/Support/SCEVValidator.cpp
polly/trunk/test/Isl/CodeGen/if-conditions-in-vector-code.ll
polly/trunk/test/Isl/CodeGen/inner_scev_sdiv_in_rtc.ll
polly/trunk/test/Isl/CodeGen/srem-in-other-bb.ll
polly/trunk/test/ScopInfo/NonAffine/non_affine_but_srem.ll
polly/trunk/test/ScopInfo/multidim_srem.ll
polly/trunk/test/ScopInfo/reduction_alternating_base.ll
Modified: polly/trunk/lib/Support/SCEVValidator.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Support/SCEVValidator.cpp?rev=247278&r1=247277&r2=247278&view=diff
==============================================================================
--- polly/trunk/lib/Support/SCEVValidator.cpp (original)
+++ polly/trunk/lib/Support/SCEVValidator.cpp Thu Sep 10 07:56:46 2015
@@ -350,17 +350,23 @@ public:
}
ValidatorResult visitSRemInstruction(Instruction *SRem, const SCEV *S) {
- assert(SRem->getOpcode() == Instruction::SRem &&
- "Assumed SRem instruction!");
+ // TODO: FIXME: SRem instructions in the domain description are currently
+ // not compatible with the domain generation. Once this is
+ // fixed we need to enable this handling again.
+ return ValidatorResult(SCEVType::INVALID);
+#if 0
+ assert(SRem->getOpcode() == Instruction::SRem &&
+ "Assumed SRem instruction!");
- auto *Divisor = SRem->getOperand(1);
- auto *CI = dyn_cast<ConstantInt>(Divisor);
- if (!CI)
- return visitGenericInst(SRem, S);
+ auto *Divisor = SRem->getOperand(1);
+ auto *CI = dyn_cast<ConstantInt>(Divisor);
+ if (!CI)
+ return visitGenericInst(SRem, S);
- auto *Dividend = SRem->getOperand(0);
- auto *DividendSCEV = SE.getSCEV(Dividend);
- return visit(DividendSCEV);
+ auto *Dividend = SRem->getOperand(0);
+ auto *DividendSCEV = SE.getSCEV(Dividend);
+ return visit(DividendSCEV);
+#endif
}
ValidatorResult visitUnknown(const SCEVUnknown *Expr) {
Modified: polly/trunk/test/Isl/CodeGen/if-conditions-in-vector-code.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/if-conditions-in-vector-code.ll?rev=247278&r1=247277&r2=247278&view=diff
==============================================================================
--- polly/trunk/test/Isl/CodeGen/if-conditions-in-vector-code.ll (original)
+++ polly/trunk/test/Isl/CodeGen/if-conditions-in-vector-code.ll Thu Sep 10 07:56:46 2015
@@ -4,6 +4,12 @@
; RUN: opt %loadPolly -polly-detect-unprofitable -polly-codegen -polly-vectorizer=polly -S < %s | \
; RUN: FileCheck %s
;
+; TODO: The new domain generation cannot handle modulo domain constraints,
+; hence modulo handling has been disabled completely. Once this is
+; resolved this test should work again. Until then we approximate the
+; whole loop body.
+; XFAIL: *
+
; void foo(float *A) {
; for (long i = 0; i < 16; i++) {
; if (i % 2)
Modified: polly/trunk/test/Isl/CodeGen/inner_scev_sdiv_in_rtc.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/inner_scev_sdiv_in_rtc.ll?rev=247278&r1=247277&r2=247278&view=diff
==============================================================================
--- polly/trunk/test/Isl/CodeGen/inner_scev_sdiv_in_rtc.ll (original)
+++ polly/trunk/test/Isl/CodeGen/inner_scev_sdiv_in_rtc.ll Thu Sep 10 07:56:46 2015
@@ -1,6 +1,11 @@
; RUN: opt %loadPolly -polly-codegen -polly-no-early-exit \
; RUN: -polly-detect-unprofitable -S < %s | FileCheck %s
;
+; TODO: The new domain generation cannot handle modulo domain constraints,
+; hence modulo handling has been disabled completely. Once this is
+; resolved this test should work again.
+; XFAIL: *
+;
; This will just check that we generate valid code here.
;
; CHECK: polly.start:
Modified: polly/trunk/test/Isl/CodeGen/srem-in-other-bb.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/srem-in-other-bb.ll?rev=247278&r1=247277&r2=247278&view=diff
==============================================================================
--- polly/trunk/test/Isl/CodeGen/srem-in-other-bb.ll (original)
+++ polly/trunk/test/Isl/CodeGen/srem-in-other-bb.ll Thu Sep 10 07:56:46 2015
@@ -1,6 +1,11 @@
; RUN: opt %loadPolly -polly-codegen -S -polly-no-early-exit \
; RUN: -polly-detect-unprofitable < %s | FileCheck %s
;
+; TODO: The new domain generation cannot handle modulo domain constraints,
+; hence modulo handling has been disabled completely. Once this is
+; resolved this test should work again.
+; XFAIL: *
+;
; void pos(float *A, long n) {
; for (long i = 0; i < 100; i++)
; A[n % 42] += 1;
Modified: polly/trunk/test/ScopInfo/NonAffine/non_affine_but_srem.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/NonAffine/non_affine_but_srem.ll?rev=247278&r1=247277&r2=247278&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/NonAffine/non_affine_but_srem.ll (original)
+++ polly/trunk/test/ScopInfo/NonAffine/non_affine_but_srem.ll Thu Sep 10 07:56:46 2015
@@ -1,6 +1,11 @@
; RUN: opt %loadPolly -polly-scops -polly-detect-unprofitable \
; RUN: -analyze < %s | FileCheck %s
;
+; TODO: The new domain generation cannot handle modulo domain constraints,
+; hence modulo handling has been disabled completely. Once this is
+; resolved this test should work again.
+; XFAIL: *
+;
; void pos(float *A, long n) {
; for (long i = 0; i < 100; i++)
; A[n % 42] += 1;
Modified: polly/trunk/test/ScopInfo/multidim_srem.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/multidim_srem.ll?rev=247278&r1=247277&r2=247278&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/multidim_srem.ll (original)
+++ polly/trunk/test/ScopInfo/multidim_srem.ll Thu Sep 10 07:56:46 2015
@@ -1,5 +1,10 @@
; RUN: opt %loadPolly -analyze -polly-scops -S < %s | FileCheck %s
;
+; TODO: The new domain generation cannot handle modulo domain constraints,
+; hence modulo handling has been disabled completely. Once this is
+; resolved this test should work again.
+; XFAIL: *
+;
; void foo(long n, float A[][n][n]) {
; for (long i = 0; i < 200; i++)
; for (long j = 0; j < n; j++)
Modified: polly/trunk/test/ScopInfo/reduction_alternating_base.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/reduction_alternating_base.ll?rev=247278&r1=247277&r2=247278&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/reduction_alternating_base.ll (original)
+++ polly/trunk/test/ScopInfo/reduction_alternating_base.ll Thu Sep 10 07:56:46 2015
@@ -1,5 +1,9 @@
; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -analyze < %s | FileCheck %s
;
+; TODO: The new domain generation cannot handle modulo domain constraints,
+; hence modulo handling has been disabled completely. Once this is
+; resolved this test should work again.
+; XFAIL: *
;
; void f(int *A) {
; for (int i = 0; i < 1024; i++)
More information about the llvm-commits
mailing list