Alexander Arlt 
							
						 
					 
					
						
						
						
						
							
						
						
							c5673278a7 
							
						 
					 
					
						
						
							
							Remove EWASM backend.  
						
						
						
					 
					
						2023-05-11 10:56:55 -05:00 
						 
				 
			
				
					
						
							
							
								Vectorized 
							
						 
					 
					
						
						
						
						
							
						
						
							050927b026 
							
						 
					 
					
						
						
							
							Optimize multiplicity map  
						
						
						
					 
					
						2023-05-08 14:01:47 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							3458da9df3 
							
						 
					 
					
						
						
							
							Emit PUSH0 as junk in evm code transform, if available.  
						
						
						
					 
					
						2023-04-17 16:26:07 +02: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 
						 
				 
			
				
					
						
							
							
								Nikola Matic 
							
						 
					 
					
						
						
						
						
							
						
						
							83a937423f 
							
						 
					 
					
						
						
							
							Update docs to reflect deprecation warning  
						
						
						
					 
					
						2023-01-26 13:42:26 +01:00 
						 
				 
			
				
					
						
							
							
								Nikola Matic 
							
						 
					 
					
						
						
						
						
							
						
						
							e7543d487d 
							
						 
					 
					
						
						
							
							Issue warning when using deprecated SELFDESTRUCT  
						
						
						
					 
					
						2023-01-25 16:55: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 
						 
				 
			
				
					
						
							
							
								Daniel 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a9f8a77817 
							
						 
					 
					
						
						
							
							Merge pull request  #13709  from ChrisXXXXXXX/patch-2  
						
						... 
						
						
						
						Separate node for every `if` and `case` body in the Yul CFG 
						
					 
					
						2022-12-01 17:04:41 +01:00 
						 
				 
			
				
					
						
							
							
								ChrisXXXXXXX 
							
						 
					 
					
						
						
						
						
							
						
						
							feade14fd6 
							
						 
					 
					
						
						
							
							Update ControlFlowSideEffectsCollector.cpp  
						
						... 
						
						
						
						There are errors in the function void ControlFlowBuilder::operator()(If const& _if) and function void ControlFlowBuilder::operator()(Switch const& _switch) when calculating CFG.
1. In the function void ControlFlowBuilder::operator()(If const& _if), the if.condion block is not the same block as the if.then block. The original code is calculated as one same block.
2. The switch.expression block are not the same block as all the cases block in cases, the original code is calculated as one same block.
This can cause some potential problems during the optimization phase. 
						
					 
					
						2022-12-01 16:06:02 +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 
						 
				 
			
				
					
						
							
							
								Daniel 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							eb2f874eac 
							
						 
					 
					
						
						
							
							Merge pull request  #13733  from ethereum/eofSetting  
						
						... 
						
						
						
						Add experimental EOF options for CLI and Standard JSON. 
						
					 
					
						2022-11-23 20:37:24 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							bf26d3be5a 
							
						 
					 
					
						
						
							
							Add experimental EOF options for CLI and Standard JSON.  
						
						... 
						
						
						
						Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it> 
						
					 
					
						2022-11-23 19:53:44 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							5ba8c109f4 
							
						 
					 
					
						
						
							
							Use side-effects of user defined functions in evm code transform.  
						
						
						
					 
					
						2022-11-14 21:26:36 +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 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							c42d577fc0 
							
						 
					 
					
						
						
							
							Cache literal to number conversion.  
						
						
						
					 
					
						2022-11-08 12:29:00 +01:00 
						 
				 
			
				
					
						
							
							
								Alexander Arlt 
							
						 
					 
					
						
						
						
						
							
						
						
							b7abcb25ae 
							
						 
					 
					
						
						
							
							[libevmasm] Add Assembly::OptimiserSettings::translateSettings.  
						
						
						
					 
					
						2022-10-26 14:11:59 +02: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 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							8230022e18 
							
						 
					 
					
						
						
							
							Remove unused include of boost/variant  
						
						
						
					 
					
						2022-09-27 03:27:37 +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 
						 
				 
			
				
					
						
							
							
								Nikola Matic 
							
						 
					 
					
						
						
						
						
							
						
						
							1f6a299062 
							
						 
					 
					
						
						
							
							Add a check for unqualified move  
						
						
						
					 
					
						2022-09-05 16:05:14 +02:00 
						 
				 
			
				
					
						
							
							
								Marenz 
							
						 
					 
					
						
						
						
						
							
						
						
							f7cc29bec1 
							
						 
					 
					
						
						
							
							Add std:: qualifier to move() calls  
						
						
						
					 
					
						2022-08-30 11:12:15 +02:00 
						 
				 
			
				
					
						
							
							
								Marenz 
							
						 
					 
					
						
						
						
						
							
						
						
							f508494f52 
							
						 
					 
					
						
						
							
							Fix undefined order of evaluation  
						
						
						
					 
					
						2022-08-29 15:33:25 +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 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4c85cb880e 
							
						 
					 
					
						
						
							
							Merge pull request  #13238  from ethereum/improve-stack-too-deep-message  
						
						... 
						
						
						
						Improved stack too deep message when compiled without --optimize 
						
					 
					
						2022-07-06 12:43:36 +02:00 
						 
				 
			
				
					
						
							
							
								Matheus Aguiar 
							
						 
					 
					
						
						
						
						
							
						
						
							290bd4fd2d 
							
						 
					 
					
						
						
							
							Added a flag to record when a source is reconstructed from JSON so garbage code snippets are not printed after source location.  
						
						
						
					 
					
						2022-07-05 11:41:24 -03:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							0b2a670a94 
							
						 
					 
					
						
						
							
							Improved stack too deep message when compiled without --optimize  
						
						
						
					 
					
						2022-07-03 14:03:00 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							51ef6a62da 
							
						 
					 
					
						
						
							
							Fix removal of memory stores in inline assembly blocks.  
						
						
						
					 
					
						2022-06-10 17:32:28 +02:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
						
						
							
						
						
							4ae43884d0 
							
						 
					 
					
						
						
							
							Apply a better way to annotate unreachability to the C++ compiler.  
						
						
						
					 
					
						2022-06-07 16:41:04 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							539e139555 
							
						 
					 
					
						
						
							
							Add explicit throws after some assertions to work around a spurious warning in GCC 12.1  
						
						
						
					 
					
						2022-06-01 20:37:48 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							7168c27f0d 
							
						 
					 
					
						
						
							
							Relax inliner heuristics.  
						
						
						
					 
					
						2022-05-23 13:37:50 +02:00