Use experimental memory tracking for loadresolver

This commit is contained in:
hrkrshnn 2020-12-22 12:15:03 +01:00
parent 8f5c0f7373
commit 070a1894c7
2 changed files with 4 additions and 1 deletions

View File

@ -37,6 +37,7 @@ void LoadResolver::run(OptimiserStepContext& _context, Block& _ast)
bool containsMSize = MSizeFinder::containsMSize(_context.dialect, _ast);
LoadResolver{
_context.dialect,
_ast,
SideEffectsPropagator::sideEffects(_context.dialect, CallGraphGenerator::callGraph(_ast)),
!containsMSize
}(_ast);

View File

@ -24,6 +24,7 @@
#include <libyul/optimiser/DataFlowAnalyzer.h>
#include <libyul/optimiser/OptimiserStep.h>
#include <libyul/optimiser/SSAValueTracker.h>
namespace solidity::yul
{
@ -46,10 +47,11 @@ public:
private:
LoadResolver(
Dialect const& _dialect,
Block const& _ast,
std::map<YulString, SideEffects> _functionSideEffects,
bool _optimizeMLoad
):
DataFlowAnalyzer(_dialect, std::move(_functionSideEffects)),
DataFlowAnalyzer(_dialect, std::move(_functionSideEffects), SSAValueTracker::ssaVariables(_ast)),
m_optimizeMLoad(_optimizeMLoad)
{}