[mlir] Add `test-convergence` option to Canonicalizer tests
authorMatthias Springer <springerm@google.com>
Wed, 4 Jan 2023 10:39:41 +0000 (11:39 +0100)
committerMatthias Springer <springerm@google.com>
Wed, 4 Jan 2023 11:02:21 +0000 (12:02 +0100)
commite7790fbed32b729ad59cea4b77d152514605cb0e
tree46794e1e8d91b8b826f946bcafc225a656d5aa07
parent8a06b2362a4b4da835d7d6041d1c0d706b5281b7
[mlir] Add `test-convergence` option to Canonicalizer tests

This new option is set to `false` by default. It should  be set only in Canonicalizer tests to detect faulty canonicalization patterns. I.e., patterns that prevent the canonicalizer from converging. The canonicalizer should always convergence on such small unit tests that we have in `canonicalize.mlir`.

Two faulty canonicalization patterns were detected and fixed with this change.

Differential Revision: https://reviews.llvm.org/D140873
28 files changed:
mlir/include/mlir/Transforms/Passes.td
mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
mlir/lib/Transforms/Canonicalizer.cpp
mlir/test/Dialect/AMDGPU/canonicalize.mlir
mlir/test/Dialect/Affine/canonicalize.mlir
mlir/test/Dialect/Arith/canonicalize.mlir
mlir/test/Dialect/Bufferization/canonicalize.mlir
mlir/test/Dialect/Builtin/canonicalize.mlir
mlir/test/Dialect/Complex/canonicalize.mlir
mlir/test/Dialect/ControlFlow/canonicalize.mlir
mlir/test/Dialect/GPU/canonicalize.mlir
mlir/test/Dialect/LLVMIR/canonicalize.mlir
mlir/test/Dialect/Linalg/canonicalize.mlir
mlir/test/Dialect/Math/canonicalize.mlir
mlir/test/Dialect/MemRef/canonicalize.mlir
mlir/test/Dialect/OpenACC/canonicalize.mlir
mlir/test/Dialect/OpenMP/canonicalize.mlir
mlir/test/Dialect/PDL/canonicalize.mlir
mlir/test/Dialect/Quant/canonicalize.mlir
mlir/test/Dialect/SCF/canonicalize.mlir
mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
mlir/test/Dialect/Shape/canonicalize.mlir
mlir/test/Dialect/Tensor/canonicalize.mlir
mlir/test/Dialect/Tosa/canonicalize.mlir
mlir/test/Dialect/Vector/canonicalize.mlir
mlir/test/Pass/run-reproducer.mlir
mlir/test/Transforms/canonicalize.mlir