@@ -78,7 +78,7 @@ std::unique_ptr<Pass> mlir::tosa::createTosaToLinalg() {
78
78
void mlir::tosa::addTosaToLinalgPasses (
79
79
OpPassManager &pm, const TosaToLinalgOptions &options,
80
80
const TosaToLinalgNamedOptions &tosaToLinalgNamedOptions,
81
- tosa::TosaValidationOptions const & validationOptions) {
81
+ std::optional< tosa::TosaValidationOptions> validationOptions) {
82
82
// Optional decompositions are designed to benefit linalg.
83
83
if (!options.disableTosaDecompositions )
84
84
pm.addNestedPass <func::FuncOp>(tosa::createTosaOptionalDecompositions ());
@@ -93,7 +93,8 @@ void mlir::tosa::addTosaToLinalgPasses(
93
93
pm.addNestedPass <func::FuncOp>(tosa::createTosaLayerwiseConstantFoldPass (
94
94
{options.aggressiveReduceConstant }));
95
95
pm.addNestedPass <func::FuncOp>(tosa::createTosaMakeBroadcastablePass ());
96
- pm.addPass (tosa::createTosaValidation (validationOptions));
96
+ if (validationOptions)
97
+ pm.addPass (tosa::createTosaValidation (*validationOptions));
97
98
pm.addNestedPass <func::FuncOp>(tosa::createTosaToLinalg ());
98
99
}
99
100
@@ -110,11 +111,12 @@ void mlir::tosa::registerTosaToLinalgPipelines() {
110
111
[](OpPassManager &pm) {
111
112
TosaToLinalgOptions tosaToLinalgOptions;
112
113
TosaToLinalgNamedOptions tosaToLinalgNamedOptions;
114
+ TosaValidationOptions validationOptions;
115
+ validationOptions.profile = tosa::TosaProfileEnum::BaseInference;
116
+ validationOptions.StrictOperationSpecAlignment = true ;
117
+ validationOptions.level = tosa::TosaLevelEnum::EightK;
113
118
tosa::addTosaToLinalgPasses (pm, tosaToLinalgOptions,
114
119
tosaToLinalgNamedOptions,
115
- /* validationOptions = */
116
- {tosa::TosaProfileEnum::BaseInference,
117
- /* StrictOperationSpecAlignment = */ true ,
118
- tosa::TosaLevelEnum::EightK});
120
+ validationOptions);
119
121
});
120
122
}
0 commit comments