mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Activate load resolver.
This commit is contained in:
parent
7dd77784b7
commit
edbec012ae
@ -8,6 +8,7 @@ Compiler Features:
|
|||||||
* ABI Output: Change sorting order of functions from selector to kind, name.
|
* ABI Output: Change sorting order of functions from selector to kind, name.
|
||||||
* Optimizer: Add rule that replaces the BYTE opcode by 0 if the first argument is larger than 31.
|
* Optimizer: Add rule that replaces the BYTE opcode by 0 if the first argument is larger than 31.
|
||||||
* Yul Optimizer: Take side-effect-freeness of user-defined functions into account.
|
* Yul Optimizer: Take side-effect-freeness of user-defined functions into account.
|
||||||
|
* Yul Optimizer: Remove redundant mload/sload operations.
|
||||||
|
|
||||||
|
|
||||||
Bugfixes:
|
Bugfixes:
|
||||||
|
@ -45,6 +45,7 @@
|
|||||||
#include <libyul/optimiser/StructuralSimplifier.h>
|
#include <libyul/optimiser/StructuralSimplifier.h>
|
||||||
#include <libyul/optimiser/RedundantAssignEliminator.h>
|
#include <libyul/optimiser/RedundantAssignEliminator.h>
|
||||||
#include <libyul/optimiser/VarNameCleaner.h>
|
#include <libyul/optimiser/VarNameCleaner.h>
|
||||||
|
#include <libyul/optimiser/LoadResolver.h>
|
||||||
#include <libyul/optimiser/Metrics.h>
|
#include <libyul/optimiser/Metrics.h>
|
||||||
#include <libyul/backends/evm/ConstantOptimiser.h>
|
#include <libyul/backends/evm/ConstantOptimiser.h>
|
||||||
#include <libyul/AsmAnalysis.h>
|
#include <libyul/AsmAnalysis.h>
|
||||||
@ -118,6 +119,7 @@ void OptimiserSuite::run(
|
|||||||
ExpressionSimplifier::run(_dialect, ast);
|
ExpressionSimplifier::run(_dialect, ast);
|
||||||
|
|
||||||
CommonSubexpressionEliminator::run(_dialect, ast);
|
CommonSubexpressionEliminator::run(_dialect, ast);
|
||||||
|
LoadResolver::run(_dialect, ast);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -132,6 +134,7 @@ void OptimiserSuite::run(
|
|||||||
|
|
||||||
{
|
{
|
||||||
// simplify again
|
// simplify again
|
||||||
|
LoadResolver::run(_dialect, ast);
|
||||||
CommonSubexpressionEliminator::run(_dialect, ast);
|
CommonSubexpressionEliminator::run(_dialect, ast);
|
||||||
UnusedPruner::runUntilStabilisedOnFullAST(_dialect, ast, reservedIdentifiers);
|
UnusedPruner::runUntilStabilisedOnFullAST(_dialect, ast, reservedIdentifiers);
|
||||||
}
|
}
|
||||||
@ -161,6 +164,7 @@ void OptimiserSuite::run(
|
|||||||
RedundantAssignEliminator::run(_dialect, ast);
|
RedundantAssignEliminator::run(_dialect, ast);
|
||||||
RedundantAssignEliminator::run(_dialect, ast);
|
RedundantAssignEliminator::run(_dialect, ast);
|
||||||
CommonSubexpressionEliminator::run(_dialect, ast);
|
CommonSubexpressionEliminator::run(_dialect, ast);
|
||||||
|
LoadResolver::run(_dialect, ast);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -176,6 +180,7 @@ void OptimiserSuite::run(
|
|||||||
SSATransform::run(ast, dispenser);
|
SSATransform::run(ast, dispenser);
|
||||||
RedundantAssignEliminator::run(_dialect, ast);
|
RedundantAssignEliminator::run(_dialect, ast);
|
||||||
RedundantAssignEliminator::run(_dialect, ast);
|
RedundantAssignEliminator::run(_dialect, ast);
|
||||||
|
LoadResolver::run(_dialect, ast);
|
||||||
ExpressionSimplifier::run(_dialect, ast);
|
ExpressionSimplifier::run(_dialect, ast);
|
||||||
StructuralSimplifier{_dialect}(ast);
|
StructuralSimplifier{_dialect}(ast);
|
||||||
BlockFlattener{}(ast);
|
BlockFlattener{}(ast);
|
||||||
|
Loading…
Reference in New Issue
Block a user