forked from OSchip/llvm-project
Fix AffineExpr::simplifyAdd bug
- fix missing check while simplifying an expression with floordiv to a mod - fixes issue tensorflow/mlir#82 Signed-off-by: Uday Bondhugula <uday@polymagelabs.com> Closes tensorflow/mlir#84 PiperOrigin-RevId: 264338353
This commit is contained in:
parent
92c485a3b8
commit
07ecb011a7
|
@ -341,7 +341,7 @@ static AffineExpr simplifyAdd(AffineExpr lhs, AffineExpr rhs) {
|
|||
|
||||
// Process lrhs, which is 'expr floordiv c'.
|
||||
AffineBinaryOpExpr lrBinOpExpr = lrhs.dyn_cast<AffineBinaryOpExpr>();
|
||||
if (!lrBinOpExpr)
|
||||
if (!lrBinOpExpr || lrBinOpExpr.getKind() != AffineExprKind::FloorDiv)
|
||||
return nullptr;
|
||||
|
||||
auto llrhs = lrBinOpExpr.getLHS();
|
||||
|
|
|
@ -171,6 +171,9 @@
|
|||
// CHECK: #map{{[0-9]+}} = (d0) -> (d0 * 16 - (d0 + 1) + 15)
|
||||
#map52 = (d0) -> (16*d0 + ((d0 + 1) * -1) + 15)
|
||||
|
||||
// CHECK: #map{{[0-9]+}} = (d0) -> (d0 - (d0 + 1))
|
||||
#map53 = (d0) -> (d0 - (d0 + 1))
|
||||
|
||||
// Single identity maps are removed.
|
||||
// CHECK: func @f0(memref<2x4xi8, 1>)
|
||||
func @f0(memref<2x4xi8, #map0, 1>)
|
||||
|
@ -337,3 +340,6 @@ func @f51(memref<1xi8, #map51>)
|
|||
|
||||
// CHECK: func @f52(memref<1xi8, #map{{[0-9]+}}>)
|
||||
func @f52(memref<1xi8, #map52>)
|
||||
|
||||
// CHECK: func @f53(memref<1xi8, #map{{[0-9]+}}>)
|
||||
func @f53(memref<1xi8, #map53>)
|
||||
|
|
Loading…
Reference in New Issue