mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[libevmasm] Add Assembly::OptimiserSettings::translateSettings.
This commit is contained in:
committed by
Kamil Śliwak
parent
1d85eb5ccf
commit
b7abcb25ae
@@ -572,21 +572,6 @@ void CompilerContext::updateSourceLocation()
|
||||
m_asm->setSourceLocation(m_visitedNodes.empty() ? SourceLocation() : m_visitedNodes.top()->location());
|
||||
}
|
||||
|
||||
evmasm::Assembly::OptimiserSettings CompilerContext::translateOptimiserSettings(OptimiserSettings const& _settings)
|
||||
{
|
||||
// Constructing it this way so that we notice changes in the fields.
|
||||
evmasm::Assembly::OptimiserSettings asmSettings{false, false, false, false, false, false, m_evmVersion, 0};
|
||||
asmSettings.runInliner = _settings.runInliner;
|
||||
asmSettings.runJumpdestRemover = _settings.runJumpdestRemover;
|
||||
asmSettings.runPeephole = _settings.runPeephole;
|
||||
asmSettings.runDeduplicate = _settings.runDeduplicate;
|
||||
asmSettings.runCSE = _settings.runCSE;
|
||||
asmSettings.runConstantOptimiser = _settings.runConstantOptimiser;
|
||||
asmSettings.expectedExecutionsPerDeployment = _settings.expectedExecutionsPerDeployment;
|
||||
asmSettings.evmVersion = m_evmVersion;
|
||||
return asmSettings;
|
||||
}
|
||||
|
||||
evmasm::AssemblyItem CompilerContext::FunctionCompilationQueue::entryLabel(
|
||||
Declaration const& _declaration,
|
||||
CompilerContext& _context
|
||||
|
||||
@@ -283,7 +283,7 @@ public:
|
||||
void appendToAuxiliaryData(bytes const& _data) { m_asm->appendToAuxiliaryData(_data); }
|
||||
|
||||
/// Run optimisation step.
|
||||
void optimise(OptimiserSettings const& _settings) { m_asm->optimise(translateOptimiserSettings(_settings)); }
|
||||
void optimise(OptimiserSettings const& _settings) { m_asm->optimise(evmasm::Assembly::OptimiserSettings::translateSettings(_settings, m_evmVersion)); }
|
||||
|
||||
/// @returns the runtime context if in creation mode and runtime context is set, nullptr otherwise.
|
||||
CompilerContext* runtimeContext() const { return m_runtimeContext; }
|
||||
@@ -314,8 +314,6 @@ private:
|
||||
/// Updates source location set in the assembly.
|
||||
void updateSourceLocation();
|
||||
|
||||
evmasm::Assembly::OptimiserSettings translateOptimiserSettings(OptimiserSettings const& _settings);
|
||||
|
||||
/**
|
||||
* Helper class that manages function labels and ensures that referenced functions are
|
||||
* compiled in a specific order.
|
||||
|
||||
Reference in New Issue
Block a user