1
- #-------------------------------------------------------------------------------
2
- # Generate MLIRFIRScalar
3
- #-------------------------------------------------------------------------------
4
-
5
- add_custom_command (
6
- OUTPUT mlir-fir.o
7
- COMMAND
8
- ${BUDDY_MLIR_BUILD_DIR} /bin/buddy-opt
9
- ${BUDDY_SOURCE_DIR} /benchmarks/AudioProcessing/Operations/FIROp/MLIRFIR.mlir
10
- -convert-scf-to-cf
11
- -llvm-request-c-wrappers
12
- -convert-arith-to-llvm
13
- -finalize-memref-to-llvm
14
- -convert-func-to-llvm
15
- -reconcile-unrealized-casts |
16
- ${LLVM_MLIR_BINARY_DIR} /mlir-translate -mlir-to-llvmir |
17
- ${LLVM_MLIR_BINARY_DIR} /llc
18
- -mtriple=${BUDDY_OPT_TRIPLE}
19
- -mattr=${BUDDY_OPT_ATTR}
20
- -filetype=obj
21
- -o ${BUDDY_BINARY_DIR} /../benchmarks/AudioProcessing/Operations/FIROp/mlir-fir.o
22
- DEPENDS
23
- ${BUDDY_MLIR_BUILD_DIR} /bin/buddy-opt
24
- ${LLVM_MLIR_BINARY_DIR} /mlir-translate
25
- ${LLVM_MLIR_BINARY_DIR} /llc
26
- )
27
-
28
- add_library (MLIRFIRScalar STATIC mlir-fir.o)
29
- set_target_properties (MLIRFIRScalar PROPERTIES LINKER_LANGUAGE CXX)
30
-
31
- #-------------------------------------------------------------------------------
32
- # Generate MLIRFIRTiledVectorization
33
- #-------------------------------------------------------------------------------
34
-
35
- add_custom_command (
36
- OUTPUT fir-tile-vectorization.o
37
- COMMAND
38
- ${BUDDY_MLIR_BUILD_DIR} /bin/buddy-opt
39
- ${BUDDY_SOURCE_DIR} /benchmarks/AudioProcessing/Operations/FIROp/MLIRFIRTiledVectorization.mlir
40
- -convert-scf-to-cf
41
- -convert-vector-to-llvm
42
- -llvm-request-c-wrappers
43
- -convert-arith-to-llvm
44
- -finalize-memref-to-llvm
45
- -convert-func-to-llvm
46
- -reconcile-unrealized-casts |
47
- ${LLVM_MLIR_BINARY_DIR} /mlir-translate -mlir-to-llvmir |
48
- ${LLVM_MLIR_BINARY_DIR} /llc
49
- -mtriple=${BUDDY_OPT_TRIPLE}
50
- -mattr=${BUDDY_OPT_ATTR}
51
- -filetype=obj
52
- -o ${BUDDY_BINARY_DIR} /../benchmarks/AudioProcessing/Operations/FIROp/fir-tile-vectorization.o
53
- DEPENDS
54
- ${BUDDY_MLIR_BUILD_DIR} /bin/buddy-opt
55
- ${LLVM_MLIR_BINARY_DIR} /mlir-translate
56
- ${LLVM_MLIR_BINARY_DIR} /llc
57
- )
58
-
59
- add_library (MLIRFIRTiledVectorization STATIC fir-tile-vectorization.o)
60
- set_target_properties (MLIRFIRTiledVectorization PROPERTIES LINKER_LANGUAGE CXX)
61
-
62
1
#-------------------------------------------------------------------------------
63
2
# Generate MLIRFIRVectorization
64
3
#-------------------------------------------------------------------------------
65
4
66
- add_custom_command (
67
- OUTPUT fir-vectorization.o
68
- COMMAND
69
- ${BUDDY_MLIR_BUILD_DIR} /bin/buddy-opt
70
- ${BUDDY_SOURCE_DIR} /benchmarks/AudioProcessing/Operations/FIROp/MLIRFIRVectorization.mlir
71
- -convert-scf-to-cf
72
- -convert-vector-to-llvm
73
- -llvm-request-c-wrappers
74
- -convert-arith-to-llvm
75
- -finalize-memref-to-llvm
76
- -convert-func-to-llvm
77
- -reconcile-unrealized-casts |
78
- ${LLVM_MLIR_BINARY_DIR} /mlir-translate -mlir-to-llvmir |
79
- ${LLVM_MLIR_BINARY_DIR} /llc
80
- -mtriple=${BUDDY_OPT_TRIPLE}
81
- -mattr=${BUDDY_OPT_ATTR}
82
- -filetype=obj
83
- -o ${BUDDY_BINARY_DIR} /../benchmarks/AudioProcessing/Operations/FIROp/fir-vectorization.o
84
- DEPENDS
85
- ${BUDDY_MLIR_BUILD_DIR} /bin/buddy-opt
86
- ${LLVM_MLIR_BINARY_DIR} /mlir-translate
87
- ${LLVM_MLIR_BINARY_DIR} /llc
88
- )
89
-
90
- add_library (MLIRFIRVectorization STATIC fir-vectorization.o)
91
- set_target_properties (MLIRFIRVectorization PROPERTIES LINKER_LANGUAGE CXX)
5
+ function (build_fir_vectorization type )
6
+ add_custom_command (
7
+ OUTPUT fir-vectorization-${type} .o
8
+ COMMAND
9
+ cat ${BUDDY_SOURCE_DIR} /benchmarks/AudioProcessing/Operations/FIROp/MLIRFIRVectorization.mlir |
10
+ sed 's/TYPE_PLACEHOLDER/${type} /g' |
11
+ ${BUDDY_MLIR_BUILD_DIR} /bin/buddy-opt
12
+ -convert-scf-to-cf
13
+ -convert-vector-to-llvm
14
+ -llvm-request-c-wrappers
15
+ -convert-arith-to-llvm
16
+ -finalize-memref-to-llvm
17
+ -convert-func-to-llvm
18
+ -reconcile-unrealized-casts |
19
+ ${LLVM_MLIR_BINARY_DIR} /mlir-translate -mlir-to-llvmir |
20
+ ${LLVM_MLIR_BINARY_DIR} /llc
21
+ -mtriple=${BUDDY_OPT_TRIPLE}
22
+ -mattr=${BUDDY_OPT_ATTR}
23
+ -filetype=obj
24
+ -o ${BUDDY_BINARY_DIR} /../benchmarks/AudioProcessing/Operations/FIROp/fir-vectorization-${type} .o
25
+ DEPENDS
26
+ ${BUDDY_MLIR_BUILD_DIR} /bin/buddy-opt
27
+ ${LLVM_MLIR_BINARY_DIR} /mlir-translate
28
+ ${LLVM_MLIR_BINARY_DIR} /llc
29
+ )
30
+ add_library (MLIRFIRVectorization${type} STATIC fir-vectorization-${type} .o)
31
+ set_target_properties (MLIRFIRVectorization${type} PROPERTIES LINKER_LANGUAGE CXX)
32
+ endfunction ()
33
+
34
+ build_fir_vectorization(f32)
35
+ build_fir_vectorization(f64)
92
36
93
37
#-------------------------------------------------------------------------------
94
38
# Generate dap-op-fir-benchmark
@@ -105,9 +49,8 @@ target_link_libraries(dap-op-fir-benchmark PRIVATE
105
49
# Third-party library
106
50
kfr_io
107
51
# MLIR hand-written benchmark
108
- MLIRFIRScalar
109
- MLIRFIRTiledVectorization
110
- MLIRFIRVectorization
52
+ MLIRFIRVectorizationf32
53
+ MLIRFIRVectorizationf64
111
54
# Buddy DAP library
112
55
BuddyLibDAP
113
56
# LLVM/MLIR library
0 commit comments