Do not add but record signed-unsigned assumptions
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>
Tue, 26 Apr 2016 09:16:36 +0000 (09:16 +0000)
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>
Tue, 26 Apr 2016 09:16:36 +0000 (09:16 +0000)
llvm-svn: 267528

polly/lib/Support/SCEVAffinator.cpp
polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll
polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll

index 4a008c3..1e6fb5c 100644 (file)
@@ -340,7 +340,7 @@ SCEVAffinator::visitZeroExtendExpr(const SCEVZeroExtendExpr *Expr) {
     NegDom = ExprDomain ? isl_set_intersect(NegDom, ExprDomain) : NegDom;
     auto DL = BB ? BB->getTerminator()->getDebugLoc() : DebugLoc();
     OpPWAC.second = isl_set_union(OpPWAC.second, isl_set_copy(NegDom));
-    S->addAssumption(UNSIGNED, isl_set_params(NegDom), DL, AS_RESTRICTION);
+    S->recordAssumption(UNSIGNED, NegDom, DL, AS_RESTRICTION, BB);
     return OpPWAC;
   }
 
index fbe722e..8960cab 100644 (file)
@@ -11,7 +11,7 @@
 ; CHECK:      Assumed Context:
 ; CHECK-NEXT: [o, m, n] -> {  :  }
 ; CHECK-NEXT: Invalid Context:
-; CHECK-NEXT: [o, m, n] -> { : o < 0 or m < 0 or (o >= 0 and m >= 0 and n <= 0) or (m = 0 and o >= 0 and n > 0) or (o = 0 and m > 0 and n > 0) }
+; CHECK-NEXT: [o, m, n] -> { : o < 0 or (o >= 0 and m < 0) or (o >= 0 and m >= 0 and n <= 0) or (m = 0 and o >= 0 and n > 0) or (o = 0 and m > 0 and n > 0) }
 
 ;
 ; CHECK:      p0: %o
index 6e10313..e566251 100644 (file)
@@ -1,7 +1,6 @@
 ; RUN: opt %loadPolly -pass-remarks-analysis="polly-scops" -polly-scops -disable-output < %s 2>&1 | FileCheck %s
 ;
 ; CHECK:      remark: <unknown>:0:0: SCoP begins here.
-; CHECK-NEXT: remark: <unknown>:0:0: Signed-unsigned restriction: [i, N, M] -> {  : N >= i and M < 0 }
 ; CHECK-NEXT: remark: <unknown>:0:0: Inbounds assumption:    [i, N, M] -> {  : N <= i or (N > i and M <= 100) }
 ; CHECK-NEXT: remark: <unknown>:0:0: SCoP ends here.
 ;