Skip to content

Commit db5b7e4

Browse files
committed
Remove dialect from yul compilability checker run arguments
1 parent f899635 commit db5b7e4

7 files changed

+3
-12
lines changed

libyul/CompilabilityChecker.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,12 @@ using namespace solidity::yul;
3131
using namespace solidity::util;
3232

3333
CompilabilityChecker::CompilabilityChecker(
34-
Dialect const& _dialect,
3534
Object const& _object,
3635
bool _optimizeStackAllocation
3736
)
3837
{
3938
yulAssert(_object.hasCode());
40-
if (auto const* evmDialect = dynamic_cast<EVMDialect const*>(&_dialect))
39+
if (auto const* evmDialect = dynamic_cast<EVMDialect const*>(_object.dialect()))
4140
{
4241
NoOutputEVMDialect noOutputDialect(*evmDialect);
4342

libyul/CompilabilityChecker.h

-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ namespace solidity::yul
4545
struct CompilabilityChecker
4646
{
4747
CompilabilityChecker(
48-
Dialect const& _dialect,
4948
Object const& _object,
5049
bool _optimizeStackAllocation
5150
);

libyul/optimiser/StackCompressor.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ std::tuple<bool, Block> StackCompressor::run(
276276
{
277277
Object object(_object);
278278
object.setCode(std::make_shared<AST>(*_object.dialect(), std::get<Block>(ASTCopier{}(astRoot))));
279-
std::map<YulName, int> stackSurplus = CompilabilityChecker(*object.dialect(), object, _optimizeStackAllocation).stackDeficit;
279+
std::map<YulName, int> stackSurplus = CompilabilityChecker(object, _optimizeStackAllocation).stackDeficit;
280280
if (stackSurplus.empty())
281281
return std::make_tuple(true, std::move(astRoot));
282282
eliminateVariables(

libyul/optimiser/StackLimitEvader.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,6 @@ Block StackLimitEvader::run(
143143
else
144144
{
145145
run(_context, astRoot, CompilabilityChecker{
146-
_context.dialect,
147146
_object,
148147
true,
149148
}.unreachableVariables);

test/libyul/CompilabilityChecker.cpp

+1-5
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,12 @@ namespace
3434
{
3535
std::string check(std::string const& _input)
3636
{
37-
auto const& dialect = EVMDialect::strictAssemblyForEVM(
38-
solidity::test::CommonOptions::get().evmVersion(),
39-
solidity::test::CommonOptions::get().eofVersion()
40-
);
4137
Object obj;
4238
auto parsingResult = yul::test::parse(_input);
4339
obj.setCode(parsingResult.first, parsingResult.second);
4440
BOOST_REQUIRE(obj.hasCode());
4541
BOOST_REQUIRE(obj.dialect());
46-
auto functions = CompilabilityChecker(dialect, obj, true).stackDeficit;
42+
auto functions = CompilabilityChecker(obj, true).stackDeficit;
4743
std::string out;
4844
for (auto const& function: functions)
4945
out += function.first.str() + ": " + std::to_string(function.second) + " ";

test/libyul/YulOptimizerTestCommon.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,6 @@ YulOptimizerTestCommon::YulOptimizerTestCommon(
434434
Object object(*m_optimizedObject);
435435
object.setCode(std::make_shared<AST>(*m_dialect, std::get<Block>(ASTCopier{}(block))));
436436
auto const unreachables = CompilabilityChecker{
437-
*m_dialect,
438437
object,
439438
true
440439
}.unreachableVariables;

test/tools/ossfuzz/StackReuseCodegenFuzzer.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ bool recursiveFunctionExists(Dialect const& _dialect, yul::Object& _object)
5656
{
5757
auto recursiveFunctions = CallGraphGenerator::callGraph(_object.code()->root()).recursiveFunctions();
5858
for(auto&& [function, variables]: CompilabilityChecker{
59-
_dialect,
6059
_object,
6160
true
6261
}.unreachableVariables

0 commit comments

Comments
 (0)