Pass "optimize stack allocation" flag down to the stack compressor.

This commit is contained in:
chriseth
2019-03-20 15:03:27 +01:00
parent 556d11dae0
commit 38cbf8d230
11 changed files with 27 additions and 14 deletions
+3 -3
View File
@@ -74,15 +74,15 @@ void eliminateVariables(shared_ptr<Dialect> const& _dialect, ASTNode& _node, siz
}
bool StackCompressor::run(shared_ptr<Dialect> const& _dialect, Block& _ast)
bool StackCompressor::run(shared_ptr<Dialect> const& _dialect, Block& _ast, bool _optimizeStackAllocation)
{
yulAssert(
_ast.statements.size() > 0 && _ast.statements.at(0).type() == typeid(Block),
"Need to run the function grouper before the stack compressor."
);
for (size_t iterations = 0; iterations < 4; iterations++)
for (size_t iterations = 0; iterations < 6; iterations++)
{
map<YulString, int> stackSurplus = CompilabilityChecker::run(_dialect, _ast);
map<YulString, int> stackSurplus = CompilabilityChecker::run(_dialect, _ast, _optimizeStackAllocation);
if (stackSurplus.empty())
return true;