Skip to content

Commit ba62b1a

Browse files
committed
[libsolidity] OptimiserSettings: add enabled flag.
1 parent 5d74861 commit ba62b1a

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

libsolidity/interface/CompilerStack.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -687,13 +687,15 @@ bool CompilerStack::compile(State _stopAfter)
687687

688688
m_contracts[evmAssemblyJsonSource].evmAssembly = make_shared<evmasm::Assembly>(evmAssemblyJsonSource);
689689
m_contracts[evmAssemblyJsonSource].evmAssembly->loadFromAssemblyJSON(m_evmAssemblyJson[evmAssemblyJsonSource]);
690-
// m_contracts[evmAssemblyJsonSource].evmAssembly->optimise(optimiserSettings);
690+
if (m_optimiserSettings.enabled)
691+
m_contracts[evmAssemblyJsonSource].evmAssembly->optimise(optimiserSettings);
691692
m_contracts[evmAssemblyJsonSource].object = m_contracts[evmAssemblyJsonSource].evmAssembly->assemble();
692693

693694
m_contracts[evmAssemblyJsonSource].evmRuntimeAssembly = make_shared<evmasm::Assembly>(evmAssemblyJsonSource);
694695
m_contracts[evmAssemblyJsonSource].evmRuntimeAssembly->setSources(m_contracts[evmAssemblyJsonSource].evmAssembly->sources());
695696
m_contracts[evmAssemblyJsonSource].evmRuntimeAssembly->loadFromAssemblyJSON(m_evmAssemblyJson[evmAssemblyJsonSource][".data"]["0"], false);
696-
// m_contracts[evmAssemblyJsonSource].evmRuntimeAssembly->optimise(optimiserSettings);
697+
if (m_optimiserSettings.enabled)
698+
m_contracts[evmAssemblyJsonSource].evmRuntimeAssembly->optimise(optimiserSettings);
697699
m_contracts[evmAssemblyJsonSource].runtimeObject = m_contracts[evmAssemblyJsonSource].evmRuntimeAssembly->assemble();
698700
}
699701
else

libsolidity/interface/OptimiserSettings.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,8 @@ struct OptimiserSettings
121121
expectedExecutionsPerDeployment == _other.expectedExecutionsPerDeployment;
122122
}
123123

124+
/// Optimizer enabled.
125+
bool enabled = false;
124126
/// Move literals to the right of commutative binary operators during code generation.
125127
/// This helps exploiting associativity.
126128
bool runOrderLiterals = false;

0 commit comments

Comments
 (0)