@@ -90,7 +90,7 @@ std::unique_ptr<Pass> mlir::tosa::createTosaToLinalg() {
9090void mlir::tosa::addTosaToLinalgPasses (
9191 OpPassManager &pm, const TosaToLinalgOptions &options,
9292 const TosaToLinalgNamedOptions &tosaToLinalgNamedOptions,
93- tosa::TosaValidationOptions const & validationOptions) {
93+ std::optional< tosa::TosaValidationOptions> validationOptions) {
9494 // Optional decompositions are designed to benefit linalg.
9595 if (!options.disableTosaDecompositions )
9696 pm.addNestedPass <func::FuncOp>(tosa::createTosaOptionalDecompositions ());
@@ -107,7 +107,8 @@ void mlir::tosa::addTosaToLinalgPasses(
107107 pm.addNestedPass <func::FuncOp>(tosa::createTosaLayerwiseConstantFoldPass (
108108 tosaFoldOptions));
109109 pm.addNestedPass <func::FuncOp>(tosa::createTosaMakeBroadcastablePass ());
110- pm.addPass (tosa::createTosaValidation (validationOptions));
110+ if (validationOptions)
111+ pm.addPass (tosa::createTosaValidation (*validationOptions));
111112 pm.addNestedPass <func::FuncOp>(tosa::createTosaToLinalg ());
112113}
113114
@@ -124,11 +125,12 @@ void mlir::tosa::registerTosaToLinalgPipelines() {
124125 [](OpPassManager &pm) {
125126 TosaToLinalgOptions tosaToLinalgOptions;
126127 TosaToLinalgNamedOptions tosaToLinalgNamedOptions;
128+ TosaValidationOptions validationOptions;
129+ validationOptions.profile = tosa::TosaProfileEnum::BaseInference;
130+ validationOptions.StrictOperationSpecAlignment = true ;
131+ validationOptions.level = tosa::TosaLevelEnum::EightK;
127132 tosa::addTosaToLinalgPasses (pm, tosaToLinalgOptions,
128133 tosaToLinalgNamedOptions,
129- /* validationOptions = */
130- {tosa::TosaProfileEnum::BaseInference,
131- /* StrictOperationSpecAlignment = */ true ,
132- tosa::TosaLevelEnum::EightK});
134+ validationOptions);
133135 });
134136}
0 commit comments