We should be check whether lb + step >= ub to determine
whether this is a single iteration. Previously we were
checking lb + lb >= ub.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/test/Dialect/Linalg/fusion.mlir | ||
---|---|---|
668 | Why is this change necessary? | |
mlir/test/Dialect/SCF/canonicalize.mlir | ||
240 | I'd rather have a new test that exercises the previously wrong behavior. This doesn't seem to do so precisely because it is changed to have step value == upper bound value. | |
mlir/test/mlir-cpu-runner/mlir_test_cblas_interface.cpp | ||
74–92 ↗ | (On Diff #319280) | This looks irrelevant |
Address comments
mlir/test/Dialect/Linalg/fusion.mlir | ||
---|---|---|
668 | Because otherwise one scf.for loop will be canonicalized away. I think the purpose of this test is to check the two scf.for and linalg.fill/linalg.conv nested inside of them. So without the canonicalization it makes things clearer. Also, most of the tests in this file is performing on unknown dims. | |
mlir/test/Dialect/SCF/canonicalize.mlir | ||
240 | I've created a new test for this and made the step != lb & step != ub. :) | |
mlir/test/mlir-cpu-runner/mlir_test_cblas_interface.cpp | ||
74–92 ↗ | (On Diff #319280) | It was needed because of the scf.for canonicalization kicked in so some shapes are not ? anymore. But Nicolas killed this entire file. :) |
Sorry I accidentally landed this together with a following patch (which actually does not have dependency).. Reverted.
Why is this change necessary?