Add optimizer setting for fuzzing.

This commit is contained in:
Daniel Kirchner
2021-08-18 10:02:32 +02:00
parent e3bbc3f18b
commit 4c9fcda641
14 changed files with 30 additions and 16 deletions
+2
View File
@@ -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,
+1
View File
@@ -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;
};
}