Skip to content

Commit d7c3454

Browse files
authored
Merge pull request #176 from Xilinx/matthias.skip_tosa_validation
TosaToLinalg: Allow to skip TOSA validation
2 parents 22a9433 + 502aa5c commit d7c3454

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ void addTosaToLinalgPasses(
3939
const TosaToLinalgNamedOptions &tosaToLinalgNamedOptions =
4040
TosaToLinalgNamedOptions(),
4141
// Note: Default to 'none' level unless otherwise specified.
42-
tosa::TosaValidationOptions const &validationOptions = {
42+
std::optional<tosa::TosaValidationOptions> validationOptions = tosa::TosaValidationOptions{
4343
tosa::TosaProfileEnum::Undefined, false, tosa::TosaLevelEnum::None});
4444

4545
/// Populates TOSA to linalg pipelines

mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ std::unique_ptr<Pass> mlir::tosa::createTosaToLinalg() {
9090
void 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

Comments
 (0)