Martin Blicha 
							
						 
					 
					
						
						
						
						
							
						
						
							29041c8101 
							
						 
					 
					
						
						
							
							Remove ReasoningBasedSimplifier from libyul  
						
						... 
						
						
						
						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. 
						
					 
					
						2023-06-28 14:38:36 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b7abd9bba4 
							
						 
					 
					
						
						
							
							Deterministically choose memory slots for variables independently of names that may depend on AST IDs.  
						
						
						
					 
					
						2023-06-12 17:28:01 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							dff774d82f 
							
						 
					 
					
						
						
							
							Overload MSizeFinder::containsMSize() for Yul objects  
						
						
						
					 
					
						2023-06-07 12:12:00 +02:00 
						 
				 
			
				
					
						
							
							
								Alexander Arlt 
							
						 
					 
					
						
						
						
						
							
						
						
							c5673278a7 
							
						 
					 
					
						
						
							
							Remove EWASM backend.  
						
						
						
					 
					
						2023-05-11 10:56:55 -05:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							fac5666dc9 
							
						 
					 
					
						
						
							
							Re-implement unused assign / unused store eliminator.  
						
						
						
					 
					
						2023-03-20 13:49:37 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							29e4becd73 
							
						 
					 
					
						
						
							
							Introduce helpers for VariableOffset.  
						
						
						
					 
					
						2023-02-09 16:44:36 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							3ac6edec5b 
							
						 
					 
					
						
						
							
							Apply suggestions from code review  
						
						
						
					 
					
						2023-02-09 10:47:12 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							eec258c2d2 
							
						 
					 
					
						
						
							
							Bugfix.  
						
						
						
					 
					
						2023-02-09 10:47:12 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							6bbef64034 
							
						 
					 
					
						
						
							
							Optimize in case this is SSA.  
						
						
						
					 
					
						2023-02-09 10:47:12 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							96e2a6d3fe 
							
						 
					 
					
						
						
							
							Keep one instance of KnowledgeBase for UnusedStoreEliminator.  
						
						
						
					 
					
						2023-02-09 10:47:12 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							47aa1c65ae 
							
						 
					 
					
						
						
							
							Re-implement KnowledgeBase using groups of constantly-spaced variables.  
						
						
						
					 
					
						2023-02-09 10:47:11 +01:00 
						 
				 
			
				
					
						
							
							
								Rodrigo Q. Saramago 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ef6ff2f055 
							
						 
					 
					
						
						
							
							Adds support for the EVM version "Paris".  
						
						... 
						
						
						
						Deprecates `block.difficulty` and disallow `difficulty()` in inline assembly for EVM versions >= paris.
The change is due to the renaming introduced by EIP-4399 (see: https://eips.ethereum.org/EIPS/eip-4399 ).
Introduces `block.prevrandao` in Solidity and `prevrandao()` in inline assembly for EVM versions >= paris.
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Daniel <daniel@ekpyron.org>
Co-authored-by: matheusaaguiar <95899911+matheusaaguiar@users.noreply.github.com>
Co-authored-by: Nikola Matić <nikola.matic@ethereum.org> 
						
					 
					
						2023-01-23 18:50:36 +00:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							79c52b3c9e 
							
						 
					 
					
						
						
							
							Re-use knowledge about keccak calls.  
						
						... 
						
						
						
						Re-use knowledge about keccak calls.
Update gas cost.
More tests.
Fix bug.
Update libyul/optimiser/DataFlowAnalyzer.cpp
Remove util prefixes
fix test
More test cases.
Add Changelog entry 
						
					 
					
						2022-12-07 14:16:13 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							826ada0b96 
							
						 
					 
					
						
						
							
							Merge pull request  #13705  from ethereum/onlyCountVariables  
						
						... 
						
						
						
						Only count variables if only variables are needed. 
						
					 
					
						2022-11-25 14:20:07 +01:00 
						 
				 
			
				
					
						
							
							
								Nikola Matić 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							be8ecb17d8 
							
						 
					 
					
						
						
							
							Merge pull request  #13703  from ethereum/performance_metrics  
						
						... 
						
						
						
						Code to output performance metrics for optimizer steps. 
						
					 
					
						2022-11-22 13:36:16 -05:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							5950ec306b 
							
						 
					 
					
						
						
							
							Code to output performance metrics for optimizer steps.  
						
						
						
					 
					
						2022-11-22 18:44:01 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							62ab78bf70 
							
						 
					 
					
						
						
							
							Refactor join knowledge.  
						
						
						
					 
					
						2022-11-14 11:56:32 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							f1febf69d0 
							
						 
					 
					
						
						
							
							Only count variables if only variables are needed.  
						
						
						
					 
					
						2022-11-14 10:24:28 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							40342264c2 
							
						 
					 
					
						
						
							
							Use hash of candidates for CSE.  
						
						
						
					 
					
						2022-11-09 16:57:46 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							cffacac9de 
							
						 
					 
					
						
						
							
							Hash number literals according to their value instead of their string representation.  
						
						
						
					 
					
						2022-11-08 20:34:10 +01:00 
						 
				 
			
				
					
						
							
							
								Nikola Matić 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b205fe8494 
							
						 
					 
					
						
						
							
							Merge pull request  #13501  from ethereum/document-unused-store-eliminator  
						
						... 
						
						
						
						Document UnusedStoreEliminator 
						
					 
					
						2022-10-21 07:06:20 -05:00 
						 
				 
			
				
					
						
							
							
								Nikola Matic 
							
						 
					 
					
						
						
						
						
							
						
						
							9e505bd128 
							
						 
					 
					
						
						
							
							Document UnusedStoreEliminator  
						
						... 
						
						
						
						Update comment in header file
Address review comments 
						
					 
					
						2022-10-21 13:19:56 +02:00 
						 
				 
			
				
					
						
							
							
								Marenz 
							
						 
					 
					
						
						
						
						
							
						
						
							9e674ba047 
							
						 
					 
					
						
						
							
							Forward declare Instruction enum in EVMVersion  
						
						
						
					 
					
						2022-09-29 13:41:58 +02:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							0f484ec93b 
							
						 
					 
					
						
						
							
							Replace use of boost::algorithm::all_of with ranges::all_of  
						
						
						
					 
					
						2022-09-27 03:33:13 +02:00 
						 
				 
			
				
					
						
							
							
								Nikola Matic 
							
						 
					 
					
						
						
						
						
							
						
						
							e37dc8e975 
							
						 
					 
					
						
						
							
							Address review comments  
						
						
						
					 
					
						2022-09-13 17:23:31 +02:00 
						 
				 
			
				
					
						
							
							
								Nikola Matic 
							
						 
					 
					
						
						
						
						
							
						
						
							314a1cc92f 
							
						 
					 
					
						
						
							
							Command line tests and minor touch ups  
						
						
						
					 
					
						2022-09-12 11:13:49 +02:00 
						 
				 
			
				
					
						
							
							
								Nikola Matic 
							
						 
					 
					
						
						
						
						
							
						
						
							f6f0d6a360 
							
						 
					 
					
						
						
							
							Make hardcoded parts of the optimizer sequence configurable  
						
						
						
					 
					
						2022-09-12 10:57:36 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							a33da17300 
							
						 
					 
					
						
						
							
							Bugfix and tests.  
						
						... 
						
						
						
						Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it> 
						
					 
					
						2022-09-08 11:54:14 +02:00 
						 
				 
			
				
					
						
							
							
								Marenz 
							
						 
					 
					
						
						
						
						
							
						
						
							f7cc29bec1 
							
						 
					 
					
						
						
							
							Add std:: qualifier to move() calls  
						
						
						
					 
					
						2022-08-30 11:12:15 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							e996fe6247 
							
						 
					 
					
						
						
							
							Yul Optimizer: Simplify start offset of zero-length operations.  
						
						
						
					 
					
						2022-08-15 15:42:51 +02:00 
						 
				 
			
				
					
						
							
							
								Leonid Pospelov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							32aa000378 
							
						 
					 
					
						
						
							
							Update FullInliner.cpp  
						
						
						
					 
					
						2022-08-14 03:14:15 +03:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							c12d151834 
							
						 
					 
					
						
						
							
							Only analyze memory in DataFlowAnalyzer if it is needed in the optimizer step.  
						
						
						
					 
					
						2022-07-11 15:51:25 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							51ef6a62da 
							
						 
					 
					
						
						
							
							Fix removal of memory stores in inline assembly blocks.  
						
						
						
					 
					
						2022-06-10 17:32:28 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							7168c27f0d 
							
						 
					 
					
						
						
							
							Relax inliner heuristics.  
						
						
						
					 
					
						2022-05-23 13:37:50 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							9fa907aac2 
							
						 
					 
					
						
						
							
							Do not remove potentially reverting returndatacopy cases.  
						
						
						
					 
					
						2022-05-23 11:01:03 +02:00 
						 
				 
			
				
					
						
							
							
								a3d4 
							
						 
					 
					
						
						
						
						
							
						
						
							048b253a93 
							
						 
					 
					
						
						
							
							Refix MSVC Debug crash  
						
						
						
					 
					
						2022-04-26 01:52:56 +02:00 
						 
				 
			
				
					
						
							
							
								a3d4 
							
						 
					 
					
						
						
						
						
							
						
						
							44093f2ed6 
							
						 
					 
					
						
						
							
							Fix MSVC Debug crash  
						
						
						
					 
					
						2022-04-06 01:34:58 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							a054285f31 
							
						 
					 
					
						
						
							
							Simplify rematerialization candidates.  
						
						
						
					 
					
						2022-03-16 16:43:21 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							75abe92eb2 
							
						 
					 
					
						
						
							
							Refactor stack compressor.  
						
						
						
					 
					
						2022-03-15 21:28:47 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5afa2adec2 
							
						 
					 
					
						
						
							
							Merge pull request  #12775  from ethereum/refactorDataFlowAnalyzer  
						
						... 
						
						
						
						Refactor data flow analyzer state access. 
						
					 
					
						2022-03-15 15:52:40 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							28593839d9 
							
						 
					 
					
						
						
							
							Add helper to see if a switch has a default case.  
						
						
						
					 
					
						2022-03-15 14:29:54 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							afdf22f5c7 
							
						 
					 
					
						
						
							
							Create a state struct.  
						
						
						
					 
					
						2022-03-14 19:32:33 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							eab4ca906c 
							
						 
					 
					
						
						
							
							Refactor data flow analyzer state access.  
						
						
						
					 
					
						2022-03-14 19:32:33 +01:00 
						 
				 
			
				
					
						
							
							
								Tyler 
							
						 
					 
					
						
						
						
						
							
						
						
							1c58b91075 
							
						 
					 
					
						
						
							
							Merge branch 'develop' of github.com:tfire/solidity into fix/remove-namespace-ast-annotations  
						
						
						
					 
					
						2022-03-10 17:39:29 -05:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							4f02be110c 
							
						 
					 
					
						
						
							
							Unused store eliminator.  
						
						
						
					 
					
						2022-03-10 18:25:28 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							6ab31420af 
							
						 
					 
					
						
						
							
							Remove unneeded header files.  
						
						
						
					 
					
						2022-03-10 09:55:05 +01:00 
						 
				 
			
				
					
						
							
							
								Tyler 
							
						 
					 
					
						
						
						
						
							
						
						
							047034544e 
							
						 
					 
					
						
						
							
							Merge branch 'develop' of github.com:tfire/solidity into fix/remove-namespace-ast-annotations  
						
						
						
					 
					
						2022-03-09 18:55:22 -05:00 
						 
				 
			
				
					
						
							
							
								Tyler 
							
						 
					 
					
						
						
						
						
							
						
						
							519e1c9402 
							
						 
					 
					
						
						
							
							Specify namespaces  
						
						... 
						
						
						
						Fix references into solidity::util 
						
					 
					
						2022-03-08 00:09:17 -05:00 
						 
				 
			
				
					
						
							
							
								wechman 
							
						 
					 
					
						
						
						
						
							
						
						
							52dfccca98 
							
						 
					 
					
						
						
							
							Replace all locale-dependent operations with locale-agnostic counterparts  
						
						
						
					 
					
						2022-03-07 17:23:08 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d118f21417 
							
						 
					 
					
						
						
							
							Merge pull request  #12729  from ethereum/splitOutDisassemble  
						
						... 
						
						
						
						Split out disassemble to remove numeric from instruction includes. 
						
					 
					
						2022-03-02 16:18:17 +01:00