LLVM/project cb4ccd3mlir/include/mlir/Conversion Passes.td, mlir/include/mlir/Conversion/MemRefToLLVM MemRefToLLVM.h

[mlir][Conversion] Rename the MemRefToLLVM pass

Since the recent MemRef refactoring that centralizes the lowering of
complex MemRef operations outside of the conversion framework, the
MemRefToLLVM pass doesn't directly convert these complex operations.

Instead, to fully convert the whole MemRef dialect space, MemRefToLLVM
needs to run after `expand-strided-metadata`.

Make this more obvious by changing the name of the pass and the option
associated with it from `convert-memref-to-llvm` to
`finalize-memref-to-llvm`.
The word "finalize" conveys that this pass needs to run after something
else and that something else is documented in its tablegen description.

This is a follow-up patch related to the conversation at:
https://discourse.llvm.org/t/psa-you-need-to-run-expand-strided-metadata-before-memref-to-llvm-now/66956/14

Differential Revision: https://reviews.llvm.org/D142463
DeltaFile
+9-7mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
+7-3mlir/include/mlir/Conversion/Passes.td
+4-4mlir/test/mlir-cpu-runner/utils.mlir
+3-3mlir/include/mlir/Conversion/MemRefToLLVM/MemRefToLLVM.h
+3-3mlir/test/Integration/Dialect/Async/CPU/microbench-scf-async-parallel-for.mlir
+3-3mlir/test/Conversion/MemRefToLLVM/convert-dynamic-memref-ops.mlir
+29-2384 files not shown
+135-12990 files

LLVM/project 87db8e4mlir/test/Integration/Dialect/SparseTensor/CPU sparse_cast.mlir sparse_reductions.mlir, mlir/test/Integration/Dialect/Vector/CPU test-transfer-read-1d.mlir test-0-d-vectors.mlir

[mlir][NFC] Update textual references of `func` to `func.func` in Integration tests

The special case parsing of `func` operations is being removed.
DeltaFile
+11-11mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cast.mlir
+11-11mlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-1d.mlir
+10-10mlir/test/Integration/Dialect/Vector/CPU/test-0-d-vectors.mlir
+10-10mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions.mlir
+10-10mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2dense.mlir
+10-10mlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-2d.mlir
+62-62127 files not shown
+392-392133 files

LLVM/project 80a0c15clang/test/CodeGen/RISCV/rvv-intrinsics vloxseg.c vluxseg.c, clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded vloxseg.c vluxseg.c

Merge branch 'main' into irbuilder-extract-refactor
DeltaFile
+12,242-14,649llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+11,615-13,961llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+2-24,936clang/test/CodeGen/RISCV/rvv-intrinsics/vloxseg.c
+2-24,936clang/test/CodeGen/RISCV/rvv-intrinsics/vluxseg.c
+2-21,307clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vloxseg.c
+2-21,307clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vluxseg.c
+23,865-121,09630,598 files not shown
+2,090,526-1,305,42030,604 files

LLVM/project 5a7b919mlir/lib/Conversion/FuncToLLVM FuncToLLVM.cpp, mlir/lib/Conversion/StandardToLLVM StandardToLLVM.cpp

[mlir][NFC] Rename StandardToLLVM to FuncToLLVM

The current StandardToLLVM conversion patterns only really handle
the Func dialect. The pass itself adds patterns for Arithmetic/CFToLLVM, but
those should be/will be split out in a followup. This commit focuses solely
on being an NFC rename.

Aside from the directory change, the pattern and pass creation API have been renamed:
 * populateStdToLLVMFuncOpConversionPattern -> populateFuncToLLVMFuncOpConversionPattern
 * populateStdToLLVMConversionPatterns -> populateFuncToLLVMConversionPatterns
 * createLowerToLLVMPass -> createConvertFuncToLLVMPass

Differential Revision: https://reviews.llvm.org/D120778
DeltaFile
+680-0mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
+0-677mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
+0-539mlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir
+539-0mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
+248-0mlir/test/Conversion/FuncToLLVM/calling-convention.mlir
+0-248mlir/test/Conversion/StandardToLLVM/calling-convention.mlir
+1,467-1,464164 files not shown
+2,244-2,253170 files

LLVM/project ace0160mlir/lib/Conversion/SCFToControlFlow SCFToControlFlow.cpp, mlir/lib/Conversion/SCFToStandard SCFToStandard.cpp

[mlir] Split out a new ControlFlow dialect from Standard

This dialect is intended to model lower level/branch based control-flow constructs. The initial set
of operations are: AssertOp, BranchOp, CondBranchOp, SwitchOp; all split out from the current
standard dialect.

See https://discourse.llvm.org/t/standard-dialect-the-final-chapter/6061

Differential Revision: https://reviews.llvm.org/D118966
DeltaFile
+891-0mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
+2-814mlir/lib/Dialect/StandardOps/IR/Ops.cpp
+638-0mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
+0-634mlir/lib/Conversion/SCFToStandard/SCFToStandard.cpp
+0-622mlir/test/Conversion/SCFToStandard/convert-to-cfg.mlir
+622-0mlir/test/Conversion/SCFToControlFlow/convert-to-cfg.mlir
+2,153-2,070239 files not shown
+4,644-4,202245 files

LLVM/project ac5d32bmlir/test lit.cfg.py, mlir/test/Integration/Dialect/Memref memref_abi.c

Add an example of integration test invoking MLIR source with Memref from C

Reviewed By: ftynse, nicolasvasilache, bondhugula

Differential Revision: https://reviews.llvm.org/D117072
DeltaFile
+173-0mlir/test/Integration/Dialect/Memref/memref_abi.c
+3-1mlir/test/lit.cfg.py
+176-12 files