diff --git a/benchmarks/DeepLearning/Models/Bert/CMakeLists.txt b/benchmarks/DeepLearning/Models/Bert/CMakeLists.txt index b517acbb..38ac5938 100644 --- a/benchmarks/DeepLearning/Models/Bert/CMakeLists.txt +++ b/benchmarks/DeepLearning/Models/Bert/CMakeLists.txt @@ -18,13 +18,12 @@ add_custom_command( ${LLVM_MLIR_BINARY_DIR}/mlir-opt -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-linalg, tosa-to-tensor, tosa-to-arith), \ - empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg, arith-bufferize, \ - func.func(linalg-bufferize, tensor-bufferize), func-bufferize)" | + empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg)" | ${LLVM_MLIR_BINARY_DIR}/mlir-opt -pass-pipeline "builtin.module(func.func(buffer-deallocation-simplification, convert-linalg-to-loops), \ eliminate-empty-tensors, func.func(llvm-request-c-wrappers), \ - convert-math-to-llvm, convert-math-to-libm, convert-scf-to-cf, \ + convert-math-to-llvm, convert-math-to-libm, convert-scf-to-cf, convert-cf-to-llvm, \ convert-arith-to-llvm, expand-strided-metadata, finalize-memref-to-llvm, \ convert-func-to-llvm, reconcile-unrealized-casts)" | ${LLVM_MLIR_BINARY_DIR}/mlir-translate -mlir-to-llvmir -o forward_auto_vectorization.ll @@ -43,25 +42,21 @@ add_custom_command( cat ${CMAKE_CURRENT_SOURCE_DIR}/subgraph0.mlir | sed -e {s/@subgraph0/@subgraph0_auto_vectorization/} | ${BUDDY_MLIR_BINARY_DIR}/buddy-opt - -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-linalg, tosa-to-tensor, tosa-to-arith), empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg, func-bufferize-dynamic-offset, arith-bufferize, func.func(linalg-bufferize, tensor-bufferize))" | + -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-linalg, tosa-to-tensor, tosa-to-arith), empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg)" | ${BUDDY_MLIR_BINARY_DIR}/buddy-opt -convert-elementwise-to-linalg - -func-bufferize-dynamic-offset - -arith-bufferize - -func-bufferize - -tensor-bufferize - -linalg-bufferize - -finalizing-bufferize + -one-shot-bufferize="bufferize-function-boundaries" -convert-linalg-to-loops - -lower-affine -convert-scf-to-cf + -convert-cf-to-llvm -llvm-request-c-wrappers -convert-math-to-llvm -convert-math-to-libm - -convert-arith-to-llvm -convert-func-to-llvm -expand-strided-metadata + -lower-affine -finalize-memref-to-llvm + -convert-arith-to-llvm -reconcile-unrealized-casts | ${LLVM_MLIR_BINARY_DIR}/mlir-translate -mlir-to-llvmir -o subgraph0_auto_vectorization.ll COMMAND @@ -83,13 +78,12 @@ add_custom_command( ${LLVM_MLIR_BINARY_DIR}/mlir-opt -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-linalg, tosa-to-tensor, tosa-to-arith), \ - empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg, arith-bufferize, \ - func.func(linalg-bufferize, tensor-bufferize), func-bufferize)" | + empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg)" | ${LLVM_MLIR_BINARY_DIR}/mlir-opt -pass-pipeline "builtin.module(func.func(buffer-deallocation-simplification, convert-linalg-to-loops), \ eliminate-empty-tensors, func.func(llvm-request-c-wrappers), \ - convert-math-to-llvm, convert-math-to-libm, convert-scf-to-cf, \ + convert-math-to-llvm, convert-math-to-libm, convert-scf-to-cf, convert-cf-to-llvm, \ convert-arith-to-llvm, expand-strided-metadata, finalize-memref-to-llvm, \ convert-func-to-llvm, reconcile-unrealized-casts)" | ${LLVM_MLIR_BINARY_DIR}/mlir-translate -mlir-to-llvmir -o forward_buddy_vectorization.ll @@ -107,28 +101,26 @@ add_custom_command( cat ${CMAKE_CURRENT_SOURCE_DIR}/subgraph0.mlir | sed -e {s/@subgraph0/@subgraph0_buddy_vectorization/} | ${BUDDY_MLIR_BINARY_DIR}/buddy-opt - -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-linalg, tosa-to-tensor, tosa-to-arith), empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg, func-bufferize-dynamic-offset, arith-bufferize, func.func(linalg-bufferize, tensor-bufferize))" | + -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-linalg, tosa-to-tensor, tosa-to-arith), empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg)" | ${BUDDY_MLIR_BINARY_DIR}/buddy-opt -convert-elementwise-to-linalg - -func-bufferize-dynamic-offset - -arith-bufferize - -func-bufferize - -tensor-bufferize - -linalg-bufferize - -finalizing-bufferize + -arith-expand + -one-shot-bufferize="bufferize-function-boundaries" -batchmatmul-optimize -convert-linalg-to-affine-loops -lower-affine -convert-vector-to-scf -convert-scf-to-cf + -convert-cf-to-llvm -llvm-request-c-wrappers -convert-vector-to-llvm -convert-math-to-llvm -convert-math-to-libm - -convert-arith-to-llvm -convert-func-to-llvm -expand-strided-metadata + -lower-affine -finalize-memref-to-llvm + -convert-arith-to-llvm -reconcile-unrealized-casts | ${LLVM_MLIR_BINARY_DIR}/mlir-translate -mlir-to-llvmir -o subgraph0_buddy_vectorization.ll COMMAND diff --git a/benchmarks/DeepLearning/Models/LeNet/CMakeLists.txt b/benchmarks/DeepLearning/Models/LeNet/CMakeLists.txt index c45cc1dc..be918cc3 100644 --- a/benchmarks/DeepLearning/Models/LeNet/CMakeLists.txt +++ b/benchmarks/DeepLearning/Models/LeNet/CMakeLists.txt @@ -18,8 +18,7 @@ add_custom_command( ${BUDDY_MLIR_BINARY_DIR}/buddy-opt -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-linalg, tosa-to-tensor, tosa-to-arith), \ - empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg, arith-bufferize, \ - func.func(linalg-bufferize, tensor-bufferize), func-bufferize)" | + empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg)" | ${BUDDY_MLIR_BINARY_DIR}/buddy-opt -pass-pipeline "builtin.module(func.func(buffer-deallocation-simplification, convert-linalg-to-loops), \ @@ -47,24 +46,23 @@ add_custom_command( -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-arith, tosa-to-linalg, tosa-to-tensor))" | ${BUDDY_MLIR_BINARY_DIR}/buddy-opt - -convert-elementwise-to-linalg - -func-bufferize-dynamic-offset - -arith-bufferize - -func-bufferize - -tensor-bufferize - -linalg-bufferize - -finalizing-bufferize - -convert-linalg-to-loops - -lower-affine - -convert-scf-to-cf - -llvm-request-c-wrappers - -convert-math-to-llvm - -convert-math-to-libm - -convert-arith-to-llvm - -convert-func-to-llvm - -expand-strided-metadata - -finalize-memref-to-llvm - -reconcile-unrealized-casts | + -eliminate-empty-tensors + -convert-tensor-to-linalg + -one-shot-bufferize="bufferize-function-boundaries" + -convert-linalg-to-affine-loops + -func-bufferize-dynamic-offset + -convert-vector-to-scf + -expand-strided-metadata + -lower-affine + -convert-vector-to-llvm + -convert-arith-to-llvm + -finalize-memref-to-llvm + -convert-scf-to-cf + -convert-cf-to-llvm + -llvm-request-c-wrappers + -convert-arith-to-llvm + -convert-func-to-llvm + -reconcile-unrealized-casts | ${LLVM_MLIR_BINARY_DIR}/mlir-translate -mlir-to-llvmir -o subgraph0_auto_vectorization.ll COMMAND ${LLVM_MLIR_BINARY_DIR}/clang -O3 ${CLANG_FLAGS_LIST} subgraph0_auto_vectorization.ll @@ -85,8 +83,7 @@ add_custom_command( ${BUDDY_MLIR_BINARY_DIR}/buddy-opt -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-linalg, tosa-to-tensor, tosa-to-arith), \ - empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg, arith-bufferize, \ - func.func(linalg-bufferize, tensor-bufferize), func-bufferize)" | + empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg)" | ${BUDDY_MLIR_BINARY_DIR}/buddy-opt -pass-pipeline "builtin.module(func.func(buffer-deallocation-simplification, convert-linalg-to-loops), \ @@ -113,27 +110,24 @@ add_custom_command( -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-arith, tosa-to-linalg, tosa-to-tensor))" | ${BUDDY_MLIR_BINARY_DIR}/buddy-opt - -convert-elementwise-to-linalg - -func-bufferize-dynamic-offset - -arith-bufferize - -func-bufferize - -tensor-bufferize - -linalg-bufferize - -finalizing-bufferize - -batchmatmul-optimize - -convert-linalg-to-affine-loops - -lower-affine - -convert-vector-to-scf - -convert-scf-to-cf - -llvm-request-c-wrappers - -convert-vector-to-llvm - -convert-math-to-llvm - -convert-math-to-libm - -convert-arith-to-llvm - -convert-func-to-llvm - -expand-strided-metadata - -finalize-memref-to-llvm - -reconcile-unrealized-casts | + -eliminate-empty-tensors + -convert-tensor-to-linalg + -one-shot-bufferize="bufferize-function-boundaries" + -batchmatmul-optimize + -convert-linalg-to-affine-loops + -func-bufferize-dynamic-offset + -convert-vector-to-scf + -expand-strided-metadata + -lower-affine + -convert-vector-to-llvm + -convert-arith-to-llvm + -finalize-memref-to-llvm + -convert-scf-to-cf + -convert-cf-to-llvm + -llvm-request-c-wrappers + -convert-arith-to-llvm + -convert-func-to-llvm + -reconcile-unrealized-casts | ${LLVM_MLIR_BINARY_DIR}/mlir-translate -mlir-to-llvmir -o subgraph0_buddy_vectorization.ll COMMAND ${LLVM_MLIR_BINARY_DIR}/clang -O3 ${CLANG_FLAGS_LIST} subgraph0_buddy_vectorization.ll -c -save-temps -o ${CMAKE_CURRENT_BINARY_DIR}/subgraph0_buddy_vectorization.o diff --git a/benchmarks/DeepLearning/Models/MobileNet-V3/CMakeLists.txt b/benchmarks/DeepLearning/Models/MobileNet-V3/CMakeLists.txt index dbb4fcc9..fb314686 100644 --- a/benchmarks/DeepLearning/Models/MobileNet-V3/CMakeLists.txt +++ b/benchmarks/DeepLearning/Models/MobileNet-V3/CMakeLists.txt @@ -59,18 +59,15 @@ add_custom_command( -linalg-named-op-conversion -convert-math-to-llvm -convert-math-to-libm - -one-shot-bufferize + -one-shot-bufferize="bufferize-function-boundaries" -convert-linalg-to-affine-loops - -lower-affine - -func-bufferize - -tensor-bufferize - -arith-bufferize - -finalizing-bufferize -convert-vector-to-scf -expand-strided-metadata + -lower-affine -convert-vector-to-llvm -finalize-memref-to-llvm -convert-scf-to-cf + -convert-cf-to-llvm -llvm-request-c-wrappers -convert-arith-to-llvm -convert-func-to-llvm @@ -132,20 +129,17 @@ add_custom_command( -linalg-named-op-conversion -convert-math-to-llvm -convert-math-to-libm - -one-shot-bufferize + -one-shot-bufferize="bufferize-function-boundaries" -conv-nhwc-fhwc-optimize # conv-nhwc-fhwc optimization -depthwise-conv-nhwc-hwc-optimize # depthwise-conv-nhwc-hwc optimization -convert-linalg-to-affine-loops - -lower-affine - -func-bufferize - -tensor-bufferize - -arith-bufferize - -finalizing-bufferize -convert-vector-to-scf -expand-strided-metadata + -lower-affine -convert-vector-to-llvm -finalize-memref-to-llvm -convert-scf-to-cf + -convert-cf-to-llvm -llvm-request-c-wrappers -convert-arith-to-llvm -convert-func-to-llvm diff --git a/benchmarks/DeepLearning/Models/Resnet18/CMakeLists.txt b/benchmarks/DeepLearning/Models/Resnet18/CMakeLists.txt index f5c2d17d..e165cf3c 100644 --- a/benchmarks/DeepLearning/Models/Resnet18/CMakeLists.txt +++ b/benchmarks/DeepLearning/Models/Resnet18/CMakeLists.txt @@ -18,13 +18,12 @@ add_custom_command( ${LLVM_MLIR_BINARY_DIR}/mlir-opt -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-linalg, tosa-to-tensor, tosa-to-arith), \ - empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg, arith-bufferize, \ - func.func(linalg-bufferize, tensor-bufferize), func-bufferize)" | + empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg)" | ${LLVM_MLIR_BINARY_DIR}/mlir-opt -pass-pipeline "builtin.module(func.func(buffer-deallocation-simplification, convert-linalg-to-loops), \ eliminate-empty-tensors, func.func(llvm-request-c-wrappers), \ - convert-math-to-llvm, convert-math-to-libm, convert-scf-to-cf, \ + convert-math-to-llvm, convert-math-to-libm, convert-scf-to-cf, convert-cf-to-llvm, \ convert-arith-to-llvm, expand-strided-metadata, finalize-memref-to-llvm, \ convert-func-to-llvm, reconcile-unrealized-casts)" | ${LLVM_MLIR_BINARY_DIR}/mlir-translate -mlir-to-llvmir -o forward_auto_vectorization.ll @@ -47,21 +46,18 @@ add_custom_command( "builtin.module(func.func(tosa-to-linalg-named),func.func(tosa-to-linalg),func.func(tosa-to-tensor),func.func(tosa-to-arith))" | ${BUDDY_MLIR_BINARY_DIR}/buddy-opt -convert-elementwise-to-linalg + -one-shot-bufferize="bufferize-function-boundaries" -func-bufferize-dynamic-offset - -arith-bufferize - -func-bufferize - -tensor-bufferize - -linalg-bufferize - -finalizing-bufferize -convert-linalg-to-loops - -lower-affine -convert-scf-to-cf + -convert-cf-to-llvm + -expand-strided-metadata + -lower-affine -llvm-request-c-wrappers + -convert-arith-to-llvm -convert-math-to-llvm -convert-math-to-libm - -convert-arith-to-llvm -convert-func-to-llvm - -expand-strided-metadata -finalize-memref-to-llvm -reconcile-unrealized-casts | ${LLVM_MLIR_BINARY_DIR}/mlir-translate -mlir-to-llvmir -o subgraph0_auto_vectorization.ll @@ -84,13 +80,12 @@ add_custom_command( ${LLVM_MLIR_BINARY_DIR}/mlir-opt -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-linalg, tosa-to-tensor, tosa-to-arith), \ - empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg, arith-bufferize, \ - func.func(linalg-bufferize, tensor-bufferize), func-bufferize)" | + empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg)" | ${LLVM_MLIR_BINARY_DIR}/mlir-opt -pass-pipeline "builtin.module(func.func(buffer-deallocation-simplification, convert-linalg-to-loops), \ eliminate-empty-tensors, func.func(llvm-request-c-wrappers), \ - convert-math-to-llvm, convert-math-to-libm, convert-scf-to-cf, \ + convert-math-to-llvm, convert-math-to-libm, convert-scf-to-cf, convert-cf-to-llvm,\ convert-arith-to-llvm, expand-strided-metadata, finalize-memref-to-llvm, \ convert-func-to-llvm, reconcile-unrealized-casts)" | ${LLVM_MLIR_BINARY_DIR}/mlir-translate -mlir-to-llvmir -o forward_buddy_vectorization.ll @@ -113,24 +108,20 @@ add_custom_command( "builtin.module(func.func(tosa-to-linalg-named),func.func(tosa-to-linalg),func.func(tosa-to-tensor),func.func(tosa-to-arith))" | ${BUDDY_MLIR_BINARY_DIR}/buddy-opt -convert-elementwise-to-linalg - -func-bufferize-dynamic-offset - -arith-bufferize - -func-bufferize - -tensor-bufferize - -linalg-bufferize - -finalizing-bufferize + -one-shot-bufferize="bufferize-function-boundaries" -batchmatmul-optimize -convert-linalg-to-affine-loops + -expand-strided-metadata -lower-affine -convert-vector-to-scf -convert-scf-to-cf + -convert-cf-to-llvm -llvm-request-c-wrappers -convert-vector-to-llvm + -convert-arith-to-llvm -convert-math-to-llvm -convert-math-to-libm - -convert-arith-to-llvm -convert-func-to-llvm - -expand-strided-metadata -finalize-memref-to-llvm -reconcile-unrealized-casts | ${LLVM_MLIR_BINARY_DIR}/mlir-translate -mlir-to-llvmir -o subgraph0_buddy_vectorization.ll diff --git a/benchmarks/DeepLearning/Models/TinyLlama/CMakeLists.txt b/benchmarks/DeepLearning/Models/TinyLlama/CMakeLists.txt index bbce87c8..02b328e4 100644 --- a/benchmarks/DeepLearning/Models/TinyLlama/CMakeLists.txt +++ b/benchmarks/DeepLearning/Models/TinyLlama/CMakeLists.txt @@ -57,19 +57,17 @@ add_custom_command( -eliminate-empty-tensors -empty-tensor-to-alloc-tensor -convert-elementwise-to-linalg - -one-shot-bufferize + -one-shot-bufferize="bufferize-function-boundaries" -convert-linalg-to-affine-loops - -lower-affine - -func-bufferize - -tensor-bufferize - -arith-bufferize - -buffer-deallocation - -finalizing-bufferize + -affine-loop-fusion + -affine-parallelize -convert-vector-to-scf -expand-strided-metadata + -lower-affine -convert-vector-to-llvm -finalize-memref-to-llvm - -convert-scf-to-cf + -convert-scf-to-cf + -convert-cf-to-llvm -llvm-request-c-wrappers -convert-arith-to-llvm -convert-math-to-llvm @@ -131,21 +129,19 @@ add_custom_command( -eliminate-empty-tensors -empty-tensor-to-alloc-tensor -convert-elementwise-to-linalg - -one-shot-bufferize + -one-shot-bufferize="bufferize-function-boundaries" -matmul-parallel-vectorization-optimize # matmul optimization -batchmatmul-optimize # batchmatmul optimization -convert-linalg-to-affine-loops - -lower-affine - -func-bufferize - -tensor-bufferize - -arith-bufferize - -buffer-deallocation - -finalizing-bufferize + -affine-loop-fusion + -affine-parallelize -convert-vector-to-scf -expand-strided-metadata + -lower-affine -convert-vector-to-llvm -finalize-memref-to-llvm - -convert-scf-to-cf + -convert-scf-to-cf + -convert-cf-to-llvm -llvm-request-c-wrappers -convert-arith-to-llvm -convert-math-to-llvm @@ -203,22 +199,18 @@ add_custom_command( -eliminate-empty-tensors -empty-tensor-to-alloc-tensor -convert-elementwise-to-linalg - -one-shot-bufferize + -one-shot-bufferize="bufferize-function-boundaries" -matmul-parallel-vectorization-optimize # # matmul optimization -batchmatmul-optimize # # batchmatmul optimization -convert-linalg-to-affine-loops - -lower-affine -convert-scf-to-openmp # openmp support - -func-bufferize - -tensor-bufferize - -arith-bufferize - -buffer-deallocation - -finalizing-bufferize -convert-vector-to-scf -expand-strided-metadata + -lower-affine -convert-vector-to-llvm -finalize-memref-to-llvm - -convert-scf-to-cf + -convert-scf-to-cf + -convert-cf-to-llvm -llvm-request-c-wrappers -convert-openmp-to-llvm # openmp support -convert-arith-to-llvm diff --git a/benchmarks/DeepLearning/Models/Whisper/CMakeLists.txt b/benchmarks/DeepLearning/Models/Whisper/CMakeLists.txt index adf7f598..cba07788 100644 --- a/benchmarks/DeepLearning/Models/Whisper/CMakeLists.txt +++ b/benchmarks/DeepLearning/Models/Whisper/CMakeLists.txt @@ -18,13 +18,12 @@ add_custom_command( ${LLVM_MLIR_BINARY_DIR}/mlir-opt -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-linalg, tosa-to-tensor, tosa-to-arith), \ - empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg, arith-bufferize, \ - func.func(linalg-bufferize, tensor-bufferize), func-bufferize)" | + empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg)" | ${LLVM_MLIR_BINARY_DIR}/mlir-opt -pass-pipeline "builtin.module(func.func(buffer-deallocation-simplification, convert-linalg-to-loops), \ eliminate-empty-tensors, func.func(llvm-request-c-wrappers), \ - convert-math-to-llvm, convert-math-to-libm, convert-scf-to-cf, \ + convert-math-to-llvm, convert-math-to-libm, convert-scf-to-cf, convert-cf-to-llvm, \ convert-arith-to-llvm, expand-strided-metadata, finalize-memref-to-llvm, \ convert-func-to-llvm, reconcile-unrealized-casts)" | ${LLVM_MLIR_BINARY_DIR}/mlir-translate -mlir-to-llvmir -o forward_auto_vectorization.ll @@ -51,23 +50,20 @@ add_custom_command( -eliminate-empty-tensors -convert-elementwise-to-linalg -empty-tensor-to-alloc-tensor - -one-shot-bufferize + -one-shot-bufferize="bufferize-function-boundaries" -convert-linalg-to-affine-loops -affine-loop-fusion -affine-parallelize - -lower-affine - -func-bufferize-dynamic-offset - -tensor-bufferize - -convert-linalg-to-loops - -finalizing-bufferize -convert-vector-to-scf -expand-strided-metadata + -lower-affine -cse -convert-vector-to-llvm -memref-expand -convert-arith-to-llvm -finalize-memref-to-llvm -convert-scf-to-cf + -convert-cf-to-llvm -llvm-request-c-wrappers -convert-arith-to-llvm -convert-math-to-llvm @@ -94,13 +90,12 @@ add_custom_command( ${LLVM_MLIR_BINARY_DIR}/mlir-opt -pass-pipeline "builtin.module(func.func(tosa-to-linalg-named, tosa-to-linalg, tosa-to-tensor, tosa-to-arith), \ - empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg, arith-bufferize, \ - func.func(linalg-bufferize, tensor-bufferize), func-bufferize)" | + empty-tensor-to-alloc-tensor, convert-elementwise-to-linalg)" | ${LLVM_MLIR_BINARY_DIR}/mlir-opt -pass-pipeline "builtin.module(func.func(buffer-deallocation-simplification, convert-linalg-to-loops), \ eliminate-empty-tensors, func.func(llvm-request-c-wrappers), \ - convert-math-to-llvm, convert-math-to-libm, convert-scf-to-cf, \ + convert-math-to-llvm, convert-math-to-libm, convert-scf-to-cf, convert-cf-to-llvm, \ convert-arith-to-llvm, expand-strided-metadata, finalize-memref-to-llvm, \ convert-func-to-llvm, reconcile-unrealized-casts)" | ${LLVM_MLIR_BINARY_DIR}/mlir-translate -mlir-to-llvmir -o forward_buddy_vectorization.ll @@ -127,24 +122,21 @@ add_custom_command( -eliminate-empty-tensors -convert-elementwise-to-linalg -empty-tensor-to-alloc-tensor - -one-shot-bufferize + -one-shot-bufferize="bufferize-function-boundaries" -batchmatmul-optimize -convert-linalg-to-affine-loops -affine-loop-fusion -affine-parallelize - -lower-affine - -func-bufferize-dynamic-offset - -tensor-bufferize - -convert-linalg-to-loops - -finalizing-bufferize -convert-vector-to-scf -expand-strided-metadata + -lower-affine -cse -convert-vector-to-llvm -memref-expand -convert-arith-to-llvm -finalize-memref-to-llvm -convert-scf-to-cf + -convert-cf-to-llvm -llvm-request-c-wrappers -convert-arith-to-llvm -convert-math-to-llvm