Changes

Summary

  1. Improve error message when declarativeAssembly contains invalid literals (details)
  2. [mlir][linalg][bufferize][NFC] Use same OpBuilder throughout bufferization (details)
  3. [LICM] Remove profile driven restriction on hoisting (details)
  4. [MLIR] NFC. Rename test cases in test/mlir-cpu-runner per convention (details)
  5. [MLIR] Improve error message on missing getArgument() override on pass (details)
  6. [mlir] Allow shape dimensions larger than 2^32 (details)
  7. [mlir][linalg][bufferize][NFC] Add inPlaceAnalysis overload (details)
  8. [MLIR] Fix affine.for unroll for multi-result upper bound maps (details)
  9. Fix build for ThreadPool when using -DLLVM_ENABLE_THREADS=OFF (details)
Commit 48fb79effb65cb786e8c7264d86af77154bf53c8 by joker.eph
Improve error message when declarativeAssembly contains invalid literals

Differential Revision: https://reviews.llvm.org/D115085
The file was modifiedmlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/FormatGen.h
The file was modifiedmlir/test/mlir-tblgen/op-format-spec.td
The file was modifiedmlir/tools/mlir-tblgen/FormatGen.cpp
Commit 6db200736c51a61834fd2e192d8a5fd71e0874b4 by springerm
[mlir][linalg][bufferize][NFC] Use same OpBuilder throughout bufferization

Also set insertion point right before calling `bufferize`. No need to put an InsertionGuard anymore.

Differential Revision: https://reviews.llvm.org/D114928
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/TensorInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/LinalgInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.h
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ArithInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/SCFInterfaceImpl.cpp
Commit 1a25d0bfbb6b587caa03bacd121b67086a774598 by listmail
[LICM] Remove profile driven restriction on hoisting

This reverts change 2c391a5/D87551.  As noted in the llvm-dev thread "LICM as canonical form" sent earlier today, introducing this was a major design change made without sufficient cause.

A profile driven LICM is not an unreasonable design, it simply is not what we have.  Switching to such a model requires a lot more work than just this patch, and broad aggeement that is the right direction for the optimizer as a whole.

Worth noting is that all the tests included in the reverted changed are probably handled if we allow running unconstrained LICM, and later run LoopSink.  As such, we have no public examples which motivate a profit based hoisting approach.
The file was removedllvm/test/Transforms/LICM/sink.ll
The file was removedllvm/test/Transforms/LICM/no-hoist-prof.ll
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
Commit d20249fde649a3a490618232bb48a1c701d35f03 by uday
[MLIR] NFC. Rename test cases in test/mlir-cpu-runner per convention

Test case files at most places in MLIR uses hyphens and not underscores.
A counter-pattern was somehow started to use underscores in some places.
Rename test cases in test/mlir-cpu-runner to use hyphens so that it's
consistent at least within its directory.

Differential Revision: https://reviews.llvm.org/D114672
The file was addedmlir/test/mlir-cpu-runner/memref-reinterpret-cast.mlir
The file was removedmlir/test/mlir-cpu-runner/sgemm_naive_codegen.mlir
The file was removedmlir/test/mlir-cpu-runner/memref_reinterpret_cast.mlir
The file was addedmlir/test/mlir-cpu-runner/global-memref.mlir
The file was removedmlir/test/mlir-cpu-runner/memref_reshape.mlir
The file was addedmlir/test/mlir-cpu-runner/X86Vector/math-polynomial-approx-avx2.mlir
The file was addedmlir/test/mlir-cpu-runner/memref-reshape.mlir
The file was removedmlir/test/mlir-cpu-runner/math_polynomial_approx.mlir
The file was removedmlir/test/mlir-cpu-runner/unranked_memref.mlir
The file was removedmlir/test/mlir-cpu-runner/X86Vector/math_polynomial_approx_avx2.mlir
The file was removedmlir/test/mlir-cpu-runner/global_memref.mlir
The file was removedmlir/test/mlir-cpu-runner/bare_ptr_call_conv.mlir
The file was addedmlir/test/mlir-cpu-runner/bare-ptr-call-conv.mlir
The file was addedmlir/test/mlir-cpu-runner/math-polynomial-approx.mlir
The file was addedmlir/test/mlir-cpu-runner/sgemm-naive-codegen.mlir
The file was addedmlir/test/mlir-cpu-runner/unranked-memref.mlir
Commit ecf458507e03b16077dba66ba1e5f873d4adfa23 by uday
[MLIR] Improve error message on missing getArgument() override on pass

Improve error message while registering a pass with a missing getArgument() override.

Differential Revision: https://reviews.llvm.org/D114744
The file was modifiedmlir/lib/Pass/PassRegistry.cpp
Commit 71699961592b4f581b65b7671cb5cd1ea0a230f3 by riddleriver
[mlir] Allow shape dimensions larger than 2^32

Internally we use int64_t to hold shapes, but for some
reason the parser was limiting shapes to unsigned. This
change updates the parser to properly handle int64_t shape
dimensions.

Differential Revision: https://reviews.llvm.org/D115086
The file was modifiedmlir/test/IR/parser.mlir
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/lib/Parser/TypeParser.cpp
Commit 9e42f2aa0b832c22377c993d64eb42aec65aa931 by springerm
[mlir][linalg][bufferize][NFC] Add inPlaceAnalysis overload

Differential Revision: https://reviews.llvm.org/D114773
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp
Commit 2108ed0671c0581efed8de929c862dbbc3e31c24 by uday
[MLIR] Fix affine.for unroll for multi-result upper bound maps

Fix affine.for unroll for multi-result upper bound maps: these can't be
unrolled/unroll-and-jammed in cases where the trip count isn't known to
be a multiple of the unroll factor.

Fix and clean up repeated/unnecessary checks/comments at helper callees.

Also, fix clang-tidy variable naming warnings and redundant includes.

Differential Revision: https://reviews.llvm.org/D114662
The file was modifiedmlir/test/Dialect/Affine/unroll.mlir
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedmlir/test/Dialect/Affine/unroll-jam.mlir
Commit b28f317c81561aa6c52681e03e9f68401e173966 by joker.eph
Fix build for ThreadPool when using -DLLVM_ENABLE_THREADS=OFF

Differential Revision: https://reviews.llvm.org/D115019
The file was modifiedllvm/lib/Support/ThreadPool.cpp
The file was modifiedllvm/include/llvm/Support/ThreadPool.h