mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
29041c8101
Due to a design decision to move away from a bundled SMT solver, ReasoningBasedSimplifier in its current form cannot be use any longer. This is a necessary step to allow a unified way to call solvers using only SMTLIB interface. Since this optimization pass has always been marked as highly experimental and never turned on by default, it should be OK to remove it.
193 lines
5.5 KiB
CMake
193 lines
5.5 KiB
CMake
add_library(yul
|
|
${GENERATED_POLYFILL_HEADERS}
|
|
|
|
AsmAnalysis.cpp
|
|
AsmAnalysis.h
|
|
AsmAnalysisInfo.h
|
|
AST.h
|
|
ASTForward.h
|
|
AsmJsonConverter.h
|
|
AsmJsonConverter.cpp
|
|
AsmJsonImporter.h
|
|
AsmJsonImporter.cpp
|
|
AsmParser.cpp
|
|
AsmParser.h
|
|
AsmPrinter.cpp
|
|
AsmPrinter.h
|
|
YulStack.h
|
|
YulStack.cpp
|
|
CompilabilityChecker.cpp
|
|
CompilabilityChecker.h
|
|
ControlFlowSideEffects.h
|
|
ControlFlowSideEffectsCollector.cpp
|
|
ControlFlowSideEffectsCollector.h
|
|
Dialect.cpp
|
|
Dialect.h
|
|
Exceptions.h
|
|
FunctionReferenceResolver.cpp
|
|
FunctionReferenceResolver.h
|
|
Object.cpp
|
|
Object.h
|
|
ObjectParser.cpp
|
|
ObjectParser.h
|
|
Scope.cpp
|
|
Scope.h
|
|
ScopeFiller.cpp
|
|
ScopeFiller.h
|
|
Utilities.cpp
|
|
Utilities.h
|
|
YulString.h
|
|
backends/evm/AbstractAssembly.h
|
|
backends/evm/AsmCodeGen.cpp
|
|
backends/evm/AsmCodeGen.h
|
|
backends/evm/ConstantOptimiser.cpp
|
|
backends/evm/ConstantOptimiser.h
|
|
backends/evm/ControlFlowGraph.h
|
|
backends/evm/ControlFlowGraphBuilder.cpp
|
|
backends/evm/ControlFlowGraphBuilder.h
|
|
backends/evm/EthAssemblyAdapter.cpp
|
|
backends/evm/EthAssemblyAdapter.h
|
|
backends/evm/EVMCodeTransform.cpp
|
|
backends/evm/EVMCodeTransform.h
|
|
backends/evm/EVMDialect.cpp
|
|
backends/evm/EVMDialect.h
|
|
backends/evm/EVMObjectCompiler.cpp
|
|
backends/evm/EVMObjectCompiler.h
|
|
backends/evm/EVMMetrics.cpp
|
|
backends/evm/EVMMetrics.h
|
|
backends/evm/NoOutputAssembly.h
|
|
backends/evm/NoOutputAssembly.cpp
|
|
backends/evm/OptimizedEVMCodeTransform.cpp
|
|
backends/evm/OptimizedEVMCodeTransform.h
|
|
backends/evm/StackHelpers.h
|
|
backends/evm/StackLayoutGenerator.cpp
|
|
backends/evm/StackLayoutGenerator.h
|
|
backends/evm/VariableReferenceCounter.h
|
|
backends/evm/VariableReferenceCounter.cpp
|
|
optimiser/ASTCopier.cpp
|
|
optimiser/ASTCopier.h
|
|
optimiser/ASTWalker.cpp
|
|
optimiser/ASTWalker.h
|
|
optimiser/BlockFlattener.cpp
|
|
optimiser/BlockFlattener.h
|
|
optimiser/BlockHasher.cpp
|
|
optimiser/BlockHasher.h
|
|
optimiser/CallGraphGenerator.cpp
|
|
optimiser/CallGraphGenerator.h
|
|
optimiser/CircularReferencesPruner.cpp
|
|
optimiser/CircularReferencesPruner.h
|
|
optimiser/CommonSubexpressionEliminator.cpp
|
|
optimiser/CommonSubexpressionEliminator.h
|
|
optimiser/ConditionalSimplifier.cpp
|
|
optimiser/ConditionalSimplifier.h
|
|
optimiser/ConditionalUnsimplifier.cpp
|
|
optimiser/ConditionalUnsimplifier.h
|
|
optimiser/ControlFlowSimplifier.cpp
|
|
optimiser/ControlFlowSimplifier.h
|
|
optimiser/DataFlowAnalyzer.cpp
|
|
optimiser/DataFlowAnalyzer.h
|
|
optimiser/DeadCodeEliminator.cpp
|
|
optimiser/DeadCodeEliminator.h
|
|
optimiser/Disambiguator.cpp
|
|
optimiser/Disambiguator.h
|
|
optimiser/EqualStoreEliminator.cpp
|
|
optimiser/EqualStoreEliminator.h
|
|
optimiser/EquivalentFunctionDetector.cpp
|
|
optimiser/EquivalentFunctionDetector.h
|
|
optimiser/EquivalentFunctionCombiner.cpp
|
|
optimiser/EquivalentFunctionCombiner.h
|
|
optimiser/ExpressionInliner.cpp
|
|
optimiser/ExpressionInliner.h
|
|
optimiser/ExpressionJoiner.cpp
|
|
optimiser/ExpressionJoiner.h
|
|
optimiser/ExpressionSimplifier.cpp
|
|
optimiser/ExpressionSimplifier.h
|
|
optimiser/ExpressionSplitter.cpp
|
|
optimiser/ExpressionSplitter.h
|
|
optimiser/ForLoopConditionIntoBody.cpp
|
|
optimiser/ForLoopConditionIntoBody.h
|
|
optimiser/ForLoopConditionOutOfBody.cpp
|
|
optimiser/ForLoopConditionOutOfBody.h
|
|
optimiser/ForLoopInitRewriter.cpp
|
|
optimiser/ForLoopInitRewriter.h
|
|
optimiser/FullInliner.cpp
|
|
optimiser/FullInliner.h
|
|
optimiser/FunctionCallFinder.cpp
|
|
optimiser/FunctionCallFinder.h
|
|
optimiser/FunctionGrouper.cpp
|
|
optimiser/FunctionGrouper.h
|
|
optimiser/FunctionHoister.cpp
|
|
optimiser/FunctionHoister.h
|
|
optimiser/FunctionSpecializer.cpp
|
|
optimiser/FunctionSpecializer.h
|
|
optimiser/InlinableExpressionFunctionFinder.cpp
|
|
optimiser/InlinableExpressionFunctionFinder.h
|
|
optimiser/KnowledgeBase.cpp
|
|
optimiser/KnowledgeBase.h
|
|
optimiser/LoadResolver.cpp
|
|
optimiser/LoadResolver.h
|
|
optimiser/LoopInvariantCodeMotion.cpp
|
|
optimiser/LoopInvariantCodeMotion.h
|
|
optimiser/MainFunction.cpp
|
|
optimiser/MainFunction.h
|
|
optimiser/Metrics.cpp
|
|
optimiser/Metrics.h
|
|
optimiser/NameCollector.cpp
|
|
optimiser/NameCollector.h
|
|
optimiser/NameDispenser.cpp
|
|
optimiser/NameDispenser.h
|
|
optimiser/NameDisplacer.cpp
|
|
optimiser/NameDisplacer.h
|
|
optimiser/NameSimplifier.cpp
|
|
optimiser/NameSimplifier.h
|
|
optimiser/OptimiserStep.h
|
|
optimiser/OptimizerUtilities.cpp
|
|
optimiser/OptimizerUtilities.h
|
|
optimiser/UnusedAssignEliminator.cpp
|
|
optimiser/UnusedAssignEliminator.h
|
|
optimiser/UnusedStoreBase.cpp
|
|
optimiser/UnusedStoreBase.h
|
|
optimiser/UnusedStoreEliminator.cpp
|
|
optimiser/UnusedStoreEliminator.h
|
|
optimiser/Rematerialiser.cpp
|
|
optimiser/Rematerialiser.h
|
|
optimiser/SSAReverser.cpp
|
|
optimiser/SSAReverser.h
|
|
optimiser/SSATransform.cpp
|
|
optimiser/SSATransform.h
|
|
optimiser/SSAValueTracker.cpp
|
|
optimiser/SSAValueTracker.h
|
|
optimiser/Semantics.cpp
|
|
optimiser/Semantics.h
|
|
optimiser/SimplificationRules.cpp
|
|
optimiser/SimplificationRules.h
|
|
optimiser/StackCompressor.cpp
|
|
optimiser/StackCompressor.h
|
|
optimiser/StackLimitEvader.cpp
|
|
optimiser/StackLimitEvader.h
|
|
optimiser/StackToMemoryMover.cpp
|
|
optimiser/StackToMemoryMover.h
|
|
optimiser/StructuralSimplifier.cpp
|
|
optimiser/StructuralSimplifier.h
|
|
optimiser/Substitution.cpp
|
|
optimiser/Substitution.h
|
|
optimiser/Suite.cpp
|
|
optimiser/Suite.h
|
|
optimiser/SyntacticalEquality.cpp
|
|
optimiser/SyntacticalEquality.h
|
|
optimiser/TypeInfo.cpp
|
|
optimiser/TypeInfo.h
|
|
optimiser/UnusedFunctionParameterPruner.cpp
|
|
optimiser/UnusedFunctionParameterPruner.h
|
|
optimiser/UnusedFunctionsCommon.h
|
|
optimiser/UnusedFunctionsCommon.cpp
|
|
optimiser/UnusedPruner.cpp
|
|
optimiser/UnusedPruner.h
|
|
optimiser/VarDeclInitializer.cpp
|
|
optimiser/VarDeclInitializer.h
|
|
optimiser/VarNameCleaner.cpp
|
|
optimiser/VarNameCleaner.h
|
|
)
|
|
|
|
target_link_libraries(yul PUBLIC evmasm solutil langutil smtutil fmt::fmt-header-only)
|