summaryrefslogtreecommitdiff
path: root/src/binaryen-c.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/binaryen-c.cpp')
-rw-r--r--src/binaryen-c.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index be80206f5..298a50233 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -5453,7 +5453,10 @@ void BinaryenModuleRunPasses(BinaryenModuleRef module,
PassRunner passRunner((Module*)module);
passRunner.options = globalPassOptions;
for (BinaryenIndex i = 0; i < numPasses; i++) {
- passRunner.add(passes[i]);
+ passRunner.add(passes[i],
+ globalPassOptions.arguments.count(passes[i]) > 0
+ ? globalPassOptions.arguments[passes[i]]
+ : std::optional<std::string>());
}
passRunner.run();
}
@@ -5704,7 +5707,10 @@ void BinaryenFunctionRunPasses(BinaryenFunctionRef func,
PassRunner passRunner((Module*)module);
passRunner.options = globalPassOptions;
for (BinaryenIndex i = 0; i < numPasses; i++) {
- passRunner.add(passes[i]);
+ passRunner.add(passes[i],
+ globalPassOptions.arguments.count(passes[i]) > 0
+ ? globalPassOptions.arguments[passes[i]]
+ : std::optional<std::string>());
}
passRunner.runOnFunction((Function*)func);
}