solidity/libyul/optimiser
2021-06-07 12:53:18 -04:00
..
ASTCopier.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
ASTCopier.h
ASTWalker.cpp Replaced keys, values and reverse with ranges 2021-03-31 23:33:04 +05:30
ASTWalker.h
BlockFlattener.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
BlockFlattener.h
BlockHasher.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
BlockHasher.h
CallGraphGenerator.cpp
CallGraphGenerator.h
CircularReferencesPruner.cpp
CircularReferencesPruner.h
CommonSubexpressionEliminator.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
CommonSubexpressionEliminator.h Add test. 2021-04-22 17:23:56 +02:00
ConditionalSimplifier.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
ConditionalSimplifier.h
ConditionalUnsimplifier.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
ConditionalUnsimplifier.h
ControlFlowSimplifier.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
ControlFlowSimplifier.h
DataFlowAnalyzer.cpp Replaced boost remove_erase and remove_erase_if 2021-04-24 08:10:41 +05:30
DataFlowAnalyzer.h Evaluate keccak(a, const) if value at memory location a is known 2021-04-22 18:19:47 +02:00
DeadCodeEliminator.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
DeadCodeEliminator.h
Disambiguator.cpp
Disambiguator.h
EquivalentFunctionCombiner.cpp
EquivalentFunctionCombiner.h
EquivalentFunctionDetector.cpp
EquivalentFunctionDetector.h
ExpressionInliner.cpp
ExpressionInliner.h
ExpressionJoiner.cpp Replaced keys, values and reverse with ranges 2021-03-31 23:33:04 +05:30
ExpressionJoiner.h
ExpressionSimplifier.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
ExpressionSimplifier.h
ExpressionSplitter.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
ExpressionSplitter.h
ForLoopConditionIntoBody.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
ForLoopConditionIntoBody.h
ForLoopConditionOutOfBody.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
ForLoopConditionOutOfBody.h
ForLoopInitRewriter.cpp
ForLoopInitRewriter.h
FullInliner.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
FullInliner.h
FunctionCallFinder.cpp
FunctionCallFinder.h
FunctionGrouper.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
FunctionGrouper.h
FunctionHoister.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
FunctionHoister.h
FunctionSpecializer.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
FunctionSpecializer.h FunctionSpecializer: skip specializing recursive functions 2021-03-29 11:02:31 +02:00
InlinableExpressionFunctionFinder.cpp
InlinableExpressionFunctionFinder.h
KnowledgeBase.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
KnowledgeBase.h
LoadResolver.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
LoadResolver.h Skip resolving Keccak if AST contains msize. 2021-04-22 18:19:47 +02:00
LoopInvariantCodeMotion.cpp
LoopInvariantCodeMotion.h
MainFunction.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
MainFunction.h
Metrics.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
Metrics.h Adjust cost of literal zero. 2021-04-22 11:42:42 +02:00
NameCollector.cpp
NameCollector.h
NameDispenser.cpp
NameDispenser.h
NameDisplacer.cpp
NameDisplacer.h
NameSimplifier.cpp
NameSimplifier.h
OptimiserStep.h Optimizer context has parameter expectedExecutionsPerDeployment 2021-04-22 17:27:57 +02:00
OptimizerUtilities.cpp Merge pull request #11311 from anurag-git/issue_10738-3 2021-04-26 14:18:15 +02:00
OptimizerUtilities.h Add toEVMInstruction helper 2021-04-23 22:56:50 +01:00
README.md DOCS: update optimizer docs, harmonize spelling and add Yul-based optimizer module 2021-05-04 17:37:02 +02:00
ReasoningBasedSimplifier.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
ReasoningBasedSimplifier.h Extracted the class SMT Solver from ReasoningBasedSimplifier 2021-05-06 11:26:26 +02:00
RedundantAssignEliminator.cpp Replaced boost remove_erase and remove_erase_if 2021-04-24 08:10:41 +05:30
RedundantAssignEliminator.h
Rematerialiser.cpp
Rematerialiser.h
Semantics.cpp Add toEVMInstruction helper 2021-04-23 22:56:50 +01:00
Semantics.h Add verbatim builtin. 2021-04-26 19:56:44 +02:00
SimplificationRules.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
SimplificationRules.h Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
SMTSolver.cpp Extracted the class SMT Solver from ReasoningBasedSimplifier 2021-05-06 11:26:26 +02:00
SMTSolver.h Extracted the class SMT Solver from ReasoningBasedSimplifier 2021-05-06 11:26:26 +02:00
SSAReverser.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
SSAReverser.h
SSATransform.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
SSATransform.h
SSAValueTracker.cpp
SSAValueTracker.h
StackCompressor.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
StackCompressor.h
StackLimitEvader.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
StackLimitEvader.h
StackToMemoryMover.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
StackToMemoryMover.h
StructuralSimplifier.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
StructuralSimplifier.h
Substitution.cpp
Substitution.h
Suite.cpp Replaced boost remove_erase and remove_erase_if 2021-04-24 08:10:41 +05:30
Suite.h Optimizer context has parameter expectedExecutionsPerDeployment 2021-04-22 17:27:57 +02:00
SyntacticalEquality.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
SyntacticalEquality.h
TypeInfo.cpp
TypeInfo.h
UnusedFunctionParameterPruner.cpp
UnusedFunctionParameterPruner.h
UnusedFunctionsCommon.cpp Remove unneeded include files 2021-06-07 12:53:18 -04:00
UnusedFunctionsCommon.h
UnusedPruner.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
UnusedPruner.h
VarDeclInitializer.cpp Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
VarDeclInitializer.h
VarNameCleaner.cpp
VarNameCleaner.h

Yul-Based Optimizer

The documentation of the Yul-based optimizer module has been moved to the official Solidity documentation.

Please refer to the optimizer documentation for a description of all optimization stages and how to use the optimizer and to the Yul documentation for more information on the optimization step sequence and a list of abbreviations for each step.