From 4078802c72a2be4f11e5d068a9d8f44e4b48638e Mon Sep 17 00:00:00 2001 From: Daniel Kirchner Date: Wed, 21 Dec 2022 15:56:25 +0100 Subject: [PATCH] Some simplifications. --- libyul/CompilabilityChecker.cpp | 3 +-- libyul/CompilabilityChecker.h | 1 - libyul/backends/evm/NoOutputAssembly.h | 4 +--- libyul/optimiser/StackCompressor.cpp | 2 +- libyul/optimiser/StackLimitEvader.cpp | 1 - test/libyul/CompilabilityChecker.cpp | 1 - test/libyul/YulOptimizerTestCommon.cpp | 1 - 7 files changed, 3 insertions(+), 10 deletions(-) diff --git a/libyul/CompilabilityChecker.cpp b/libyul/CompilabilityChecker.cpp index 4a971689c..270773cbc 100644 --- a/libyul/CompilabilityChecker.cpp +++ b/libyul/CompilabilityChecker.cpp @@ -33,7 +33,6 @@ using namespace solidity::util; CompilabilityChecker::CompilabilityChecker( Dialect const& _dialect, - std::optional _eofVersion, Object const& _object, bool _optimizeStackAllocation ) @@ -51,7 +50,7 @@ CompilabilityChecker::CompilabilityChecker( builtinContext.subIDs[_object.name] = 1; for (auto const& subNode: _object.subObjects) builtinContext.subIDs[subNode->name] = 1; - NoOutputAssembly assembly(_eofVersion.has_value()); + NoOutputAssembly assembly; CodeTransform transform( assembly, analysisInfo, diff --git a/libyul/CompilabilityChecker.h b/libyul/CompilabilityChecker.h index e9da7dd2f..484a86e0e 100644 --- a/libyul/CompilabilityChecker.h +++ b/libyul/CompilabilityChecker.h @@ -46,7 +46,6 @@ struct CompilabilityChecker { CompilabilityChecker( Dialect const& _dialect, - std::optional _eofVersion, Object const& _object, bool _optimizeStackAllocation ); diff --git a/libyul/backends/evm/NoOutputAssembly.h b/libyul/backends/evm/NoOutputAssembly.h index b78d68eaf..5dee12da3 100644 --- a/libyul/backends/evm/NoOutputAssembly.h +++ b/libyul/backends/evm/NoOutputAssembly.h @@ -52,8 +52,7 @@ struct NoOutputAssemblyContext class NoOutputAssembly: public AbstractAssembly { public: - explicit NoOutputAssembly(bool _hasFunctions): m_hasFunctions(_hasFunctions), m_context(std::make_shared()) { } - NoOutputAssembly(bool _hasFunctions, std::shared_ptr _context): m_hasFunctions(_hasFunctions), m_context(_context) {} + explicit NoOutputAssembly(): m_context(std::make_shared()) { } ~NoOutputAssembly() override = default; @@ -92,7 +91,6 @@ public: void markAsInvalid() override {} private: - bool m_hasFunctions = false; std::shared_ptr m_context; int m_stackHeight = 0; }; diff --git a/libyul/optimiser/StackCompressor.cpp b/libyul/optimiser/StackCompressor.cpp index 604b85e85..d53c9c10c 100644 --- a/libyul/optimiser/StackCompressor.cpp +++ b/libyul/optimiser/StackCompressor.cpp @@ -270,7 +270,7 @@ bool StackCompressor::run( else for (size_t iterations = 0; iterations < _maxIterations; iterations++) { - map stackSurplus = CompilabilityChecker(_dialect, _eofVersion, _object, _optimizeStackAllocation).stackDeficit; + map stackSurplus = CompilabilityChecker(_dialect, _object, _optimizeStackAllocation).stackDeficit; if (stackSurplus.empty()) return true; eliminateVariables( diff --git a/libyul/optimiser/StackLimitEvader.cpp b/libyul/optimiser/StackLimitEvader.cpp index 83ef8f0e0..9035403ec 100644 --- a/libyul/optimiser/StackLimitEvader.cpp +++ b/libyul/optimiser/StackLimitEvader.cpp @@ -137,7 +137,6 @@ void StackLimitEvader::run( else run(_context, _object, CompilabilityChecker{ _context.dialect, - _context.eofVersion, _object, true }.unreachableVariables); diff --git a/test/libyul/CompilabilityChecker.cpp b/test/libyul/CompilabilityChecker.cpp index 15dba4e65..82f34c191 100644 --- a/test/libyul/CompilabilityChecker.cpp +++ b/test/libyul/CompilabilityChecker.cpp @@ -41,7 +41,6 @@ string check(string const& _input) BOOST_REQUIRE(obj.code); auto functions = CompilabilityChecker( EVMDialect::strictAssemblyForEVM(solidity::test::CommonOptions::get().evmVersion()), - solidity::test::CommonOptions::get().eofVersion(), obj, true ).stackDeficit; diff --git a/test/libyul/YulOptimizerTestCommon.cpp b/test/libyul/YulOptimizerTestCommon.cpp index 418a81c6c..f77d0b06f 100644 --- a/test/libyul/YulOptimizerTestCommon.cpp +++ b/test/libyul/YulOptimizerTestCommon.cpp @@ -348,7 +348,6 @@ YulOptimizerTestCommon::YulOptimizerTestCommon( disambiguate(); StackLimitEvader::run(*m_context, *m_object, CompilabilityChecker{ *m_dialect, - nullopt, // TODO *m_object, true }.unreachableVariables);