mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Add optimizer setting for fuzzing.
This commit is contained in:
@@ -521,6 +521,7 @@ void CompilerContext::appendInlineAssembly(
|
||||
analysisInfo,
|
||||
*m_asm,
|
||||
m_evmVersion,
|
||||
_optimiserSettings.forceOldPipeline,
|
||||
identifierAccess.generateCode,
|
||||
_system,
|
||||
_optimiserSettings.optimizeStackAllocation
|
||||
@@ -551,6 +552,7 @@ void CompilerContext::optimizeYul(
|
||||
&meter,
|
||||
_object,
|
||||
_optimiserSettings.optimizeStackAllocation,
|
||||
_optimiserSettings.forceOldPipeline,
|
||||
_optimiserSettings.yulOptimiserSteps,
|
||||
isCreation? nullopt : make_optional(_optimiserSettings.expectedExecutionsPerDeployment),
|
||||
_externalIdentifiers,
|
||||
|
||||
@@ -915,6 +915,7 @@ bool ContractCompiler::visit(InlineAssembly const& _inlineAssembly)
|
||||
*analysisInfo,
|
||||
*m_context.assemblyPtr(),
|
||||
m_context.evmVersion(),
|
||||
m_optimiserSettings.forceOldPipeline,
|
||||
identifierAccessCodeGen,
|
||||
false,
|
||||
m_optimiserSettings.optimizeStackAllocation
|
||||
|
||||
@@ -149,6 +149,7 @@ struct OptimiserSettings
|
||||
/// This specifies an estimate on how often each opcode in this assembly will be executed,
|
||||
/// i.e. use a small value to optimise for size and a large value to optimise for runtime gas usage.
|
||||
size_t expectedExecutionsPerDeployment = 200;
|
||||
bool forceOldPipeline = false;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user