..
ASTCopier.cpp
ASTCopier.h
ASTWalker.cpp
ASTWalker.h
Minor fix to forEach on Yul AST nodes.
2021-11-05 13:24:30 +01:00
BlockFlattener.cpp
Keep canonical form of Yul code at all times.
2021-11-09 13:29:10 +01:00
BlockFlattener.h
Keep canonical form of Yul code at all times.
2021-11-09 13:29:10 +01:00
BlockHasher.cpp
Use hash of candidates for CSE.
2022-11-09 16:57:46 +01:00
BlockHasher.h
Use hash of candidates for CSE.
2022-11-09 16:57:46 +01:00
CallGraphGenerator.cpp
CallGraphGenerator.h
CircularReferencesPruner.cpp
Keep canonical form of Yul code at all times.
2021-11-09 13:29:10 +01:00
CircularReferencesPruner.h
CommonSubexpressionEliminator.cpp
Use hash of candidates for CSE.
2022-11-09 16:57:46 +01:00
CommonSubexpressionEliminator.h
Use hash of candidates for CSE.
2022-11-09 16:57:46 +01:00
ConditionalSimplifier.cpp
Control flow side effects on non-disambiguated source.
2021-11-04 16:32:11 +01:00
ConditionalSimplifier.h
Add std:: qualifier to move() calls
2022-08-30 11:12:15 +02:00
ConditionalUnsimplifier.cpp
Control flow side effects on non-disambiguated source.
2021-11-04 16:32:11 +01:00
ConditionalUnsimplifier.h
ControlFlowSimplifier.cpp
Add helper to see if a switch has a default case.
2022-03-15 14:29:54 +01:00
ControlFlowSimplifier.h
DataFlowAnalyzer.cpp
Re-implement KnowledgeBase using groups of constantly-spaced variables.
2023-02-09 10:47:11 +01:00
DataFlowAnalyzer.h
Re-use knowledge about keccak calls.
2022-12-07 14:16:13 +01:00
DeadCodeEliminator.cpp
Control flow side effects on non-disambiguated source.
2021-11-04 16:32:11 +01:00
DeadCodeEliminator.h
Add std:: qualifier to move() calls
2022-08-30 11:12:15 +02:00
Disambiguator.cpp
Disambiguator.h
EqualStoreEliminator.cpp
Refactor data flow analyzer state access.
2022-03-14 19:32:33 +01: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
EquivalentFunctionCombiner.h
EquivalentFunctionDetector.cpp
EquivalentFunctionDetector.h
ExpressionInliner.cpp
ExpressionInliner.h
ExpressionJoiner.cpp
Only count variables if only variables are needed.
2022-11-14 10:24:28 +01:00
ExpressionJoiner.h
ExpressionSimplifier.cpp
Adds support for the EVM version "Paris".
2023-01-23 18:50:36 +00:00
ExpressionSimplifier.h
Yul Optimizer: Simplify start offset of zero-length operations.
2022-08-15 15:42:51 +02:00
ExpressionSplitter.cpp
ExpressionSplitter.h
ForLoopConditionIntoBody.cpp
ForLoopConditionIntoBody.h
ForLoopConditionOutOfBody.cpp
ForLoopConditionOutOfBody.h
ForLoopInitRewriter.cpp
Add std:: qualifier to move() calls
2022-08-30 11:12:15 +02:00
ForLoopInitRewriter.h
FullInliner.cpp
Update FullInliner.cpp
2022-08-14 03:14:15 +03:00
FullInliner.h
Relax inliner heuristics.
2022-05-23 13:37:50 +02:00
FunctionCallFinder.cpp
FunctionCallFinder.h
FunctionGrouper.cpp
FunctionGrouper.h
Keep canonical form of Yul code at all times.
2021-11-09 13:29:10 +01:00
FunctionHoister.cpp
FunctionHoister.h
FunctionSpecializer.cpp
Add std:: qualifier to move() calls
2022-08-30 11:12:15 +02:00
FunctionSpecializer.h
InlinableExpressionFunctionFinder.cpp
InlinableExpressionFunctionFinder.h
KnowledgeBase.cpp
Introduce helpers for VariableOffset.
2023-02-09 16:44:36 +01:00
KnowledgeBase.h
Introduce helpers for VariableOffset.
2023-02-09 16:44:36 +01:00
LoadResolver.cpp
Re-use knowledge about keccak calls.
2022-12-07 14:16:13 +01: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
Only count variables if only variables are needed.
2022-11-14 10:24:28 +01:00
LoopInvariantCodeMotion.h
MainFunction.cpp
MainFunction.h
Metrics.cpp
Adds support for the EVM version "Paris".
2023-01-23 18:50:36 +00:00
Metrics.h
NameCollector.cpp
Only count variables if only variables are needed.
2022-11-14 10:24:28 +01:00
NameCollector.h
Only count variables if only variables are needed.
2022-11-14 10:24:28 +01:00
NameDispenser.cpp
Add std:: qualifier to move() calls
2022-08-30 11:12:15 +02:00
NameDispenser.h
NameDisplacer.cpp
NameDisplacer.h
NameSimplifier.cpp
Add std:: qualifier to move() calls
2022-08-30 11:12:15 +02:00
NameSimplifier.h
OptimiserStep.h
OptimizerUtilities.cpp
Adds support for the EVM version "Paris".
2023-01-23 18:50:36 +00:00
OptimizerUtilities.h
Adds support for the EVM version "Paris".
2023-01-23 18:50:36 +00:00
README.md
ReasoningBasedSimplifier.cpp
Forward declare Instruction enum in EVMVersion
2022-09-29 13:41:58 +02:00
ReasoningBasedSimplifier.h
Rematerialiser.cpp
Only count variables if only variables are needed.
2022-11-14 10:24:28 +01: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
Semantics.h
SimplificationRules.cpp
Adds support for the EVM version "Paris".
2023-01-23 18:50:36 +00:00
SimplificationRules.h
Adds support for the EVM version "Paris".
2023-01-23 18:50:36 +00:00
SMTSolver.cpp
SMTSolver.h
SSAReverser.cpp
SSAReverser.h
SSATransform.cpp
SSATransform.h
Rename RedundantAssignEliminator to UnusedAssignEliminator.
2021-11-23 10:38:36 +01:00
SSAValueTracker.cpp
SSAValueTracker.h
StackCompressor.cpp
Add std:: qualifier to move() calls
2022-08-30 11:12:15 +02:00
StackCompressor.h
StackLimitEvader.cpp
StackLimitEvader.h
StackToMemoryMover.cpp
Add std:: qualifier to move() calls
2022-08-30 11:12:15 +02:00
StackToMemoryMover.h
StructuralSimplifier.cpp
Refix MSVC Debug crash
2022-04-26 01:52:56 +02:00
StructuralSimplifier.h
Remove unneeded header files.
2022-03-10 09:55:05 +01:00
Substitution.cpp
Substitution.h
Suite.cpp
Code to output performance metrics for optimizer steps.
2022-11-22 18:44:01 +01:00
Suite.h
Code to output performance metrics for optimizer steps.
2022-11-22 18:44:01 +01:00
SyntacticalEquality.cpp
Use hash of candidates for CSE.
2022-11-09 16:57:46 +01:00
SyntacticalEquality.h
Use hash of candidates for CSE.
2022-11-09 16:57:46 +01:00
TypeInfo.cpp
TypeInfo.h
UnusedAssignEliminator.cpp
Re-implement unused assign / unused store eliminator.
2023-03-20 13:49:37 +01:00
UnusedAssignEliminator.h
Re-implement unused assign / unused store eliminator.
2023-03-20 13:49:37 +01:00
UnusedFunctionParameterPruner.cpp
Only count variables if only variables are needed.
2022-11-14 10:24:28 +01:00
UnusedFunctionParameterPruner.h
UnusedFunctionsCommon.cpp
UnusedFunctionsCommon.h
UnusedPruner.cpp
Keep canonical form of Yul code at all times.
2021-11-09 13:29:10 +01:00
UnusedPruner.h
Keep canonical form of Yul code at all times.
2021-11-09 13:29:10 +01:00
UnusedStoreBase.cpp
Re-implement unused assign / unused store eliminator.
2023-03-20 13:49:37 +01:00
UnusedStoreBase.h
Re-implement unused assign / unused store eliminator.
2023-03-20 13:49:37 +01:00
UnusedStoreEliminator.cpp
Re-implement unused assign / unused store eliminator.
2023-03-20 13:49:37 +01:00
UnusedStoreEliminator.h
Re-implement unused assign / unused store eliminator.
2023-03-20 13:49:37 +01:00
VarDeclInitializer.cpp
VarDeclInitializer.h
VarNameCleaner.cpp
VarNameCleaner.h