@@ -241,6 +241,7 @@ struct GlobalInit {
241241 InputDialectOptions *clInputOptions = nullptr ;
242242 PreprocessingOptions *clPreprocessingOptions = nullptr ;
243243 GlobalOptimizationOptions *clGlobalOptimizationOptions = nullptr ;
244+ DispatchCreationOptions *clDispatchCreationOptions = nullptr ;
244245 SchedulingOptions *clSchedulingOptions = nullptr ;
245246 IREE::HAL::TargetOptions *clHalTargetOptions = nullptr ;
246247 IREE::VM::TargetOptions *clVmTargetOptions = nullptr ;
@@ -286,6 +287,7 @@ void GlobalInit::registerCommandLineOptions() {
286287 clInputOptions = &InputDialectOptions::FromFlags::get ();
287288 clPreprocessingOptions = &PreprocessingOptions::FromFlags::get ();
288289 clGlobalOptimizationOptions = &GlobalOptimizationOptions::FromFlags::get ();
290+ clDispatchCreationOptions = &DispatchCreationOptions::FromFlags::get ();
289291 clSchedulingOptions = &SchedulingOptions::FromFlags::get ();
290292 clHalTargetOptions = &IREE::HAL::TargetOptions::FromFlags::get ();
291293 clVmTargetOptions = &IREE::VM::TargetOptions::FromFlags::get ();
@@ -396,6 +398,7 @@ struct Session {
396398 InputDialectOptions inputOptions;
397399 PreprocessingOptions preprocessingOptions;
398400 GlobalOptimizationOptions highLevelOptimizationOptions;
401+ DispatchCreationOptions dispatchCreationOptions;
399402 SchedulingOptions schedulingOptions;
400403 IREE::HAL::TargetOptions halTargetOptions;
401404 IREE::VM::TargetOptions vmTargetOptions;
@@ -423,6 +426,7 @@ Session::Session(GlobalInit &globalInit)
423426 inputOptions = *globalInit.clInputOptions ;
424427 preprocessingOptions = *globalInit.clPreprocessingOptions ;
425428 highLevelOptimizationOptions = *globalInit.clGlobalOptimizationOptions ;
429+ dispatchCreationOptions = *globalInit.clDispatchCreationOptions ;
426430 schedulingOptions = *globalInit.clSchedulingOptions ;
427431 halTargetOptions = *globalInit.clHalTargetOptions ;
428432 vmTargetOptions = *globalInit.clVmTargetOptions ;
@@ -443,6 +447,7 @@ Session::Session(GlobalInit &globalInit)
443447 preprocessingOptions.bindOptions (binder);
444448 inputOptions.bindOptions (binder);
445449 highLevelOptimizationOptions.bindOptions (binder);
450+ dispatchCreationOptions.bindOptions (binder);
446451 schedulingOptions.bindOptions (binder);
447452 halTargetOptions.bindOptions (binder);
448453 vmTargetOptions.bindOptions (binder);
@@ -982,9 +987,9 @@ bool Invocation::runPipeline(enum iree_compiler_pipeline_t pipeline) {
982987 buildIREEVMTransformPassPipeline (
983988 session.targetRegistry , session.bindingOptions , session.inputOptions ,
984989 session.preprocessingOptions , session.highLevelOptimizationOptions ,
985- session.schedulingOptions , session.halTargetOptions ,
986- session.vmTargetOptions , pipelineHooks, *passManager, compileFrom ,
987- compileTo);
990+ session.dispatchCreationOptions , session.schedulingOptions ,
991+ session.halTargetOptions , session. vmTargetOptions , pipelineHooks ,
992+ *passManager, compileFrom, compileTo);
988993 break ;
989994 }
990995 case IREE_COMPILER_PIPELINE_HAL_EXECUTABLE: {
@@ -1015,8 +1020,9 @@ bool Invocation::runPipeline(enum iree_compiler_pipeline_t pipeline) {
10151020 buildIREEPrecompileTransformPassPipeline (
10161021 session.targetRegistry , session.bindingOptions , session.inputOptions ,
10171022 session.preprocessingOptions , session.highLevelOptimizationOptions ,
1018- session.schedulingOptions , session.halTargetOptions , pipelineHooks,
1019- *passManager, compileFrom, compileTo);
1023+ session.dispatchCreationOptions , session.schedulingOptions ,
1024+ session.halTargetOptions , pipelineHooks, *passManager, compileFrom,
1025+ compileTo);
10201026 break ;
10211027 }
10221028 default :
0 commit comments