@@ -551,13 +551,7 @@ bool CommandLineInterface::processInput()
551551 }
552552 case InputMode::Assembler:
553553 {
554- return assemble (
555- m_options.assembly .inputLanguage ,
556- m_options.assembly .targetMachine ,
557- m_options.optimizer .enabled ,
558- m_options.optimizer .expectedExecutionsPerDeployment ,
559- m_options.optimizer .yulSteps
560- );
554+ return assemble (m_options.assembly .inputLanguage , m_options.assembly .targetMachine );
561555 }
562556 case InputMode::Linker:
563557 return link ();
@@ -595,14 +589,7 @@ bool CommandLineInterface::compile()
595589 m_compiler->enableIRGeneration (m_options.compiler .outputs .ir || m_options.compiler .outputs .irOptimized );
596590 m_compiler->enableEwasmGeneration (m_options.compiler .outputs .ewasm );
597591
598- OptimiserSettings settings = m_options.optimizer .enabled ? OptimiserSettings::standard () : OptimiserSettings::minimal ();
599- if (m_options.optimizer .expectedExecutionsPerDeployment .has_value ())
600- settings.expectedExecutionsPerDeployment = m_options.optimizer .expectedExecutionsPerDeployment .value ();
601- if (m_options.optimizer .noOptimizeYul )
602- settings.runYulOptimiser = false ;
603-
604- if (m_options.optimizer .yulSteps .has_value ())
605- settings.yulOptimiserSteps = m_options.optimizer .yulSteps .value ();
592+ OptimiserSettings settings = m_options.optimiserSettings ();
606593 settings.optimizeStackAllocation = settings.runYulOptimiser ;
607594 m_compiler->setOptimiserSettings (settings);
608595
@@ -939,27 +926,21 @@ string CommandLineInterface::objectWithLinkRefsHex(evmasm::LinkerObject const& _
939926 return out;
940927}
941928
942- bool CommandLineInterface::assemble (
943- yul::AssemblyStack::Language _language,
944- yul::AssemblyStack::Machine _targetMachine,
945- bool _optimize,
946- optional<unsigned int > _expectedExecutionsPerDeployment,
947- optional<string> _yulOptimiserSteps
948- )
929+ bool CommandLineInterface::assemble (yul::AssemblyStack::Language _language, yul::AssemblyStack::Machine _targetMachine)
949930{
950- solAssert (_optimize || !_yulOptimiserSteps.has_value (), " " );
951-
952931 bool successful = true ;
953932 map<string, yul::AssemblyStack> assemblyStacks;
954933 for (auto const & src: m_fileReader.sourceCodes ())
955934 {
956- OptimiserSettings settings = _optimize ? OptimiserSettings::full () : OptimiserSettings::minimal ();
957- if (_expectedExecutionsPerDeployment.has_value ())
958- settings.expectedExecutionsPerDeployment = _expectedExecutionsPerDeployment.value ();
959- if (_yulOptimiserSteps.has_value ())
960- settings.yulOptimiserSteps = _yulOptimiserSteps.value ();
935+ // --no-optimize-yul option is not accepted in assembly mode.
936+ solAssert (!m_options.optimizer .noOptimizeYul , " " );
937+
938+ auto & stack = assemblyStacks[src.first ] = yul::AssemblyStack (
939+ m_options.output .evmVersion ,
940+ _language,
941+ m_options.optimiserSettings ()
942+ );
961943
962- auto & stack = assemblyStacks[src.first ] = yul::AssemblyStack (m_options.output .evmVersion , _language, settings);
963944 try
964945 {
965946 if (!stack.parseAndAnalyze (src.first , src.second ))
0 commit comments