[MLIR] Fold away divs and mods in affine ops with operand info
Fold away divs and mods in affine maps exploiting operand info during canonicalization. This simplifies affine map applications such as the ones below: ``` // Simple ones. affine.for %i = 0 to 32 { affine.load %A[%i floordiv 32] affine.load %A[%i mod 32] affine.load %A[2 * %i floordiv 64] affine.load %A[(%i mod 16) floordiv 16] ... } // Others. affine.for %i = -8 to 32 { // Will be simplified %A[0]. affine.store %cst, %A[2 + (%i - 96) floordiv 64] : memref<64xf32> } ``` Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D143456
Loading
Please sign in to comment