..
ASTCopier.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
ASTCopier.h
Added a helper class FunctionCopier in ASTCopier
2021-03-29 11:02:18 +02:00
ASTWalker.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
ASTWalker.h
Minor fix to forEach on Yul AST nodes.
2021-11-05 13:24:30 +01:00
BlockFlattener.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
BlockFlattener.h
Keep canonical form of Yul code at all times.
2021-11-09 13:29:10 +01:00
BlockHasher.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
BlockHasher.h
Use hash of candidates for CSE.
2022-11-09 16:57:46 +01:00
CallGraphGenerator.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
CallGraphGenerator.h
Deterministically choose memory slots for variables independently of names that may depend on AST IDs.
2023-06-12 17:28:01 +02:00
CircularReferencesPruner.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
CircularReferencesPruner.h
Add SPDX license identifier if not present already in source file
2020-07-17 20:24:12 +05:30
CommonSubexpressionEliminator.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
CommonSubexpressionEliminator.h
Use hash of candidates for CSE.
2022-11-09 16:57:46 +01:00
ConditionalSimplifier.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
ConditionalSimplifier.h
Add std:: qualifier to move() calls
2022-08-30 11:12:15 +02:00
ConditionalUnsimplifier.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
ConditionalUnsimplifier.h
Use side effects of user-defined functions in other optimizer steps.
2021-11-02 11:59:01 +01:00
ControlFlowSimplifier.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
ControlFlowSimplifier.h
Add SPDX license identifier if not present already in source file
2020-07-17 20:24:12 +05:30
DataFlowAnalyzer.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
DataFlowAnalyzer.h
Re-use knowledge about keccak calls.
2022-12-07 14:16:13 +01:00
DeadCodeEliminator.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
DeadCodeEliminator.h
Add std:: qualifier to move() calls
2022-08-30 11:12:15 +02:00
Disambiguator.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
Disambiguator.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00
EqualStoreEliminator.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
EqualStoreEliminator.h
Only analyze memory in DataFlowAnalyzer if it is needed in the optimizer step.
2022-07-11 15:51:25 +02:00
EquivalentFunctionCombiner.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
EquivalentFunctionCombiner.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00
EquivalentFunctionDetector.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
EquivalentFunctionDetector.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00
ExpressionInliner.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
ExpressionInliner.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00
ExpressionJoiner.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
ExpressionJoiner.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00
ExpressionSimplifier.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
ExpressionSimplifier.h
Yul Optimizer: Simplify start offset of zero-length operations.
2022-08-15 15:42:51 +02:00
ExpressionSplitter.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
ExpressionSplitter.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00
ForLoopConditionIntoBody.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
ForLoopConditionIntoBody.h
Add SPDX license identifier if not present already in source file
2020-07-17 20:24:12 +05:30
ForLoopConditionOutOfBody.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
ForLoopConditionOutOfBody.h
Add SPDX license identifier if not present already in source file
2020-07-17 20:24:12 +05:30
ForLoopInitRewriter.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
ForLoopInitRewriter.h
Add SPDX license identifier if not present already in source file
2020-07-17 20:24:12 +05:30
FullInliner.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
FullInliner.h
Properly document FullInliner's prerequisites
2023-07-17 16:40:43 +02:00
FunctionCallFinder.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
FunctionCallFinder.h
Add stack limit evader.
2020-09-17 22:13:27 +02:00
FunctionGrouper.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
FunctionGrouper.h
Keep canonical form of Yul code at all times.
2021-11-09 13:29:10 +01:00
FunctionHoister.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
FunctionHoister.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00
FunctionSpecializer.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
FunctionSpecializer.h
FunctionSpecializer: skip specializing recursive functions
2021-03-29 11:02:31 +02:00
InlinableExpressionFunctionFinder.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
InlinableExpressionFunctionFinder.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00
KnowledgeBase.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
KnowledgeBase.h
Introduce helpers for VariableOffset.
2023-02-09 16:44:36 +01:00
LoadResolver.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
LoadResolver.h
Only analyze memory in DataFlowAnalyzer if it is needed in the optimizer step.
2022-07-11 15:51:25 +02:00
LoopInvariantCodeMotion.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
LoopInvariantCodeMotion.h
Extended LoopInvariantCodeMotion for storage and state
2020-08-19 12:41:29 +02:00
Metrics.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
Metrics.h
Adjust cost of literal zero.
2021-04-22 11:42:42 +02:00
NameCollector.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
NameCollector.h
Only count variables if only variables are needed.
2022-11-14 10:24:28 +01:00
NameDispenser.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
NameDispenser.h
Merge pull request #10419 from ethereum/bug-namesimplifier
2020-12-03 17:52:40 +01:00
NameDisplacer.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
NameDisplacer.h
Implemented UnusedFunctionArgumentPruner
2020-09-03 13:15:38 +02:00
NameSimplifier.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
NameSimplifier.h
Merge pull request #10419 from ethereum/bug-namesimplifier
2020-12-03 17:52:40 +01:00
OptimiserStep.h
Optimizer context has parameter expectedExecutionsPerDeployment
2021-04-22 17:27:57 +02:00
OptimizerUtilities.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
OptimizerUtilities.h
Adds support for the EVM version "Paris".
2023-01-23 18:50:36 +00:00
README.md
DOCS: update optimizer docs, harmonize spelling and add Yul-based optimizer module
2021-05-04 17:37:02 +02:00
Rematerialiser.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
Rematerialiser.h
Only analyze memory in DataFlowAnalyzer if it is needed in the optimizer step.
2022-07-11 15:51:25 +02:00
Semantics.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
Semantics.h
Overload MSizeFinder::containsMSize() for Yul objects
2023-06-07 12:12:00 +02:00
SimplificationRules.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
SimplificationRules.h
Adds support for the EVM version "Paris".
2023-01-23 18:50:36 +00:00
SSAReverser.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
SSAReverser.h
Add SPDX license identifier if not present already in source file
2020-07-17 20:24:12 +05:30
SSATransform.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
SSATransform.h
Rename RedundantAssignEliminator to UnusedAssignEliminator.
2021-11-23 10:38:36 +01:00
SSAValueTracker.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
SSAValueTracker.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00
StackCompressor.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
StackCompressor.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00
StackLimitEvader.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
StackLimitEvader.h
Deterministically choose memory slots for variables independently of names that may depend on AST IDs.
2023-06-12 17:28:01 +02:00
StackToMemoryMover.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
StackToMemoryMover.h
Split Common.h into Numeric.h.
2021-09-23 15:27:29 +02:00
StructuralSimplifier.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
StructuralSimplifier.h
Remove unneeded header files.
2022-03-10 09:55:05 +01:00
Substitution.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
Substitution.h
Add SPDX license identifier if not present already in source file
2020-07-17 20:24:12 +05:30
Suite.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
Suite.h
Code to output performance metrics for optimizer steps.
2022-11-22 18:44:01 +01:00
SyntacticalEquality.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
SyntacticalEquality.h
Use hash of candidates for CSE.
2022-11-09 16:57:46 +01:00
TypeInfo.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
TypeInfo.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00
UnusedAssignEliminator.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
UnusedAssignEliminator.h
Re-implement unused assign / unused store eliminator.
2023-03-20 13:49:37 +01:00
UnusedFunctionParameterPruner.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
UnusedFunctionParameterPruner.h
Implemented UnusedFunctionArgumentPruner
2020-09-03 13:15:38 +02:00
UnusedFunctionsCommon.cpp
Remove unneeded include files
2021-06-07 12:53:18 -04:00
UnusedFunctionsCommon.h
Move filter to CommonData.h
2020-12-09 11:13:27 +01:00
UnusedPruner.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
UnusedPruner.h
Keep canonical form of Yul code at all times.
2021-11-09 13:29:10 +01:00
UnusedStoreBase.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
UnusedStoreBase.h
Re-implement unused assign / unused store eliminator.
2023-03-20 13:49:37 +01:00
UnusedStoreEliminator.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
UnusedStoreEliminator.h
Re-implement unused assign / unused store eliminator.
2023-03-20 13:49:37 +01:00
VarDeclInitializer.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
VarDeclInitializer.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00
VarNameCleaner.cpp
Purge using namespace std from libyul/optimiser
2023-08-28 21:14:56 +08:00
VarNameCleaner.h
Rename AsmData -> AST
2020-11-25 17:58:02 +00:00