@@ -78,7 +78,7 @@ std::unique_ptr<Pass> mlir::tosa::createTosaToLinalg() {
7878void mlir::tosa::addTosaToLinalgPasses (
7979 OpPassManager &pm, const TosaToLinalgOptions &options,
8080 const TosaToLinalgNamedOptions &tosaToLinalgNamedOptions,
81- tosa::TosaValidationOptions const & validationOptions) {
81+ std::optional< tosa::TosaValidationOptions> validationOptions) {
8282 // Optional decompositions are designed to benefit linalg.
8383 if (!options.disableTosaDecompositions )
8484 pm.addNestedPass <func::FuncOp>(tosa::createTosaOptionalDecompositions ());
@@ -93,7 +93,8 @@ void mlir::tosa::addTosaToLinalgPasses(
9393 pm.addNestedPass <func::FuncOp>(tosa::createTosaLayerwiseConstantFoldPass (
9494 {options.aggressiveReduceConstant }));
9595 pm.addNestedPass <func::FuncOp>(tosa::createTosaMakeBroadcastablePass ());
96- pm.addPass (tosa::createTosaValidation (validationOptions));
96+ if (validationOptions)
97+ pm.addPass (tosa::createTosaValidation (*validationOptions));
9798 pm.addNestedPass <func::FuncOp>(tosa::createTosaToLinalg ());
9899}
99100
@@ -110,11 +111,12 @@ void mlir::tosa::registerTosaToLinalgPipelines() {
110111 [](OpPassManager &pm) {
111112 TosaToLinalgOptions tosaToLinalgOptions;
112113 TosaToLinalgNamedOptions tosaToLinalgNamedOptions;
114+ TosaValidationOptions validationOptions;
115+ validationOptions.profile = tosa::TosaProfileEnum::BaseInference;
116+ validationOptions.StrictOperationSpecAlignment = true ;
117+ validationOptions.level = tosa::TosaLevelEnum::EightK;
113118 tosa::addTosaToLinalgPasses (pm, tosaToLinalgOptions,
114119 tosaToLinalgNamedOptions,
115- /* validationOptions = */
116- {tosa::TosaProfileEnum::BaseInference,
117- /* StrictOperationSpecAlignment = */ true ,
118- tosa::TosaLevelEnum::EightK});
120+ validationOptions);
119121 });
120122}
0 commit comments