summaryrefslogtreecommitdiff
path: root/src/tools/optimization-options.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/optimization-options.h')
-rw-r--r--src/tools/optimization-options.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/tools/optimization-options.h b/src/tools/optimization-options.h
index abe3bcd6d..7849be375 100644
--- a/src/tools/optimization-options.h
+++ b/src/tools/optimization-options.h
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "support/command-line.h"
+#include "feature-options.h"
//
// Shared optimization options for commandline tools
@@ -22,14 +22,12 @@
namespace wasm {
-struct OptimizationOptions : public Options {
+struct OptimizationOptions : public FeatureOptions {
static constexpr const char* DEFAULT_OPT_PASSES = "O";
std::vector<std::string> passes;
- PassOptions passOptions;
- FeatureSet features = Feature::Atomics;
- OptimizationOptions(const std::string& command, const std::string& description) : Options(command, description) {
+ OptimizationOptions(const std::string& command, const std::string& description) : FeatureOptions(command, description) {
(*this).add("", "-O", "execute default optimization passes",
Options::Arguments::Zero,
[this](Options*, const std::string&) {
@@ -132,7 +130,7 @@ struct OptimizationOptions : public Options {
void runPasses(Module& wasm) {
PassRunner passRunner(&wasm, passOptions);
if (debug) passRunner.setDebug(true);
- passRunner.setFeatures(features);
+ passRunner.setFeatures(passOptions.features);
for (auto& pass : passes) {
if (pass == DEFAULT_OPT_PASSES) {
passRunner.addDefaultOptimizationPasses();