hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							39b23420ec 
							
						 
					 
					
						
						
							
							Extracted the class SMT Solver from ReasoningBasedSimplifier  
						
						
						
					 
					
						2021-05-06 11:26:26 +02:00 
						 
				 
			
				
					
						
							
							
								franzihei 
							
						 
					 
					
						
						
						
						
							
						
						
							13eec106f4 
							
						 
					 
					
						
						
							
							DOCS: update optimizer docs, harmonize spelling and add Yul-based optimizer module  
						
						
						
					 
					
						2021-05-04 17:37:02 +02:00 
						 
				 
			
				
					
						
							
							
								Djordje Mijovic 
							
						 
					 
					
						
						
						
						
							
						
						
							e404b6e7a6 
							
						 
					 
					
						
						
							
							Refactoring yul source locations.  
						
						
						
					 
					
						2021-05-04 16:05:23 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							e2d8005737 
							
						 
					 
					
						
						
							
							Add verbatim builtin.  
						
						
						
					 
					
						2021-04-26 19:56:44 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d9df3d50e2 
							
						 
					 
					
						
						
							
							Merge pull request  #11311  from anurag-git/issue_10738-3  
						
						... 
						
						
						
						Use range-v3 loops(remove_erase, remove_erase_if) 
						
					 
					
						2021-04-26 14:18:15 +02:00 
						 
				 
			
				
					
						
							
							
								Harikrishnan Mulackal 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2cb525f607 
							
						 
					 
					
						
						
							
							Merge pull request  #11306  from ethereum/toevminstruction  
						
						... 
						
						
						
						Add toEVMInstruction helper 
						
					 
					
						2021-04-26 08:41:25 +02:00 
						 
				 
			
				
					
						
							
							
								anurag4u80 
							
						 
					 
					
						
						
						
						
							
						
						
							c4cf412fed 
							
						 
					 
					
						
						
							
							Replaced boost remove_erase and remove_erase_if  
						
						
						
					 
					
						2021-04-24 08:10:41 +05:30 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							d508544340 
							
						 
					 
					
						
						
							
							Add toEVMInstruction helper  
						
						... 
						
						
						
						Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com> 
						
					 
					
						2021-04-23 22:56:50 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							e39433198d 
							
						 
					 
					
						
						
							
							Remove the usage of boost::noncopyable  
						
						... 
						
						
						
						Prior to this half of the codebase used explicit deleted copy constructors, the others used boost::noncopyable. 
						
					 
					
						2021-04-23 14:57:01 +01:00 
						 
				 
			
				
					
						
							
							
								Harikrishnan Mulackal 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f162c484ca 
							
						 
					 
					
						
						
							
							Merge pull request  #11026  from ethereum/resolve-keccak  
						
						... 
						
						
						
						Evaluate ``keccak256(a, const)``, when the value at memory location ``a`` is known at compile time and ``const <= 32`` 
						
					 
					
						2021-04-22 19:18:19 +02:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							b599235b8d 
							
						 
					 
					
						
						
							
							Skip resolving Keccak if AST contains msize.  
						
						... 
						
						
						
						Also a refactoring changing `m_optimizeMLoad` to `m_containsMSize`. 
						
					 
					
						2021-04-22 18:19:47 +02:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							3bc4f5708a 
							
						 
					 
					
						
						
							
							Evaluate keccak(a, const) if value at memory location a is known  
						
						... 
						
						
						
						Here the value of constant can be at most 32. 
						
					 
					
						2021-04-22 18:19:47 +02:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							1f5b874eaf 
							
						 
					 
					
						
						
							
							Optimizer context has parameter expectedExecutionsPerDeployment  
						
						
						
					 
					
						2021-04-22 17:27:57 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							a6a3af58a0 
							
						 
					 
					
						
						
							
							Add test.  
						
						
						
					 
					
						2021-04-22 17:23:56 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							00fb2d390b 
							
						 
					 
					
						
						
							
							Do not replace zeros by return variable.  
						
						
						
					 
					
						2021-04-22 16:54:02 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							35b651103d 
							
						 
					 
					
						
						
							
							Adjust cost of literal zero.  
						
						
						
					 
					
						2021-04-22 11:42:42 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							afae46dcb5 
							
						 
					 
					
						
						
							
							Add ScopedSaveAndRestore helper.  
						
						
						
					 
					
						2021-04-16 10:56:56 +02:00 
						 
				 
			
				
					
						
							
							
								anurag4u80 
							
						 
					 
					
						
						
						
						
							
						
						
							bbcdddeed9 
							
						 
					 
					
						
						
							
							Replaced keys, values and reverse with ranges  
						
						
						
					 
					
						2021-03-31 23:33:04 +05:30 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							0100f48e05 
							
						 
					 
					
						
						
							
							FunctionSpecializer: skip specializing recursive functions  
						
						... 
						
						
						
						This avoids potential pathological behaviour, like in Ackermann function. 
						
					 
					
						2021-03-29 11:02:31 +02:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							45a3747701 
							
						 
					 
					
						
						
							
							Added FunctionSpecializer to the optimization suite  
						
						
						
					 
					
						2021-03-29 11:02:18 +02:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							22ebdc7438 
							
						 
					 
					
						
						
							
							Implemented FunctionSpecializer  
						
						... 
						
						
						
						Optimiser step that specializes the function with its literal arguments. 
						
					 
					
						2021-03-29 11:02:18 +02:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							8564d08228 
							
						 
					 
					
						
						
							
							Added a helper class FunctionCopier in ASTCopier  
						
						... 
						
						
						
						Helper class that creates a copy of the function definition, replacing the names of the variable
declaration with a new name. 
						
					 
					
						2021-03-29 11:02:18 +02:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							b42fc2015c 
							
						 
					 
					
						
						
							
							NameCollecter can now only collect VariableDeclarations  
						
						... 
						
						
						
						This is done to help with the optimizer step FunctionSpecializer 
						
					 
					
						2021-03-25 11:49:16 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							fc0e571a07 
							
						 
					 
					
						
						
							
							Refined cleanup.  
						
						
						
					 
					
						2021-02-16 14:20:27 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							f34d7120a2 
							
						 
					 
					
						
						
							
							Add and use mapTuple helper.  
						
						
						
					 
					
						2021-01-13 17:23:27 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							91cdb606a5 
							
						 
					 
					
						
						
							
							Some style review suggestions.  
						
						
						
					 
					
						2021-01-13 12:43:38 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							4505889481 
							
						 
					 
					
						
						
							
							Replace ranges::all_of wrapper by range-v3.  
						
						
						
					 
					
						2021-01-12 21:44:42 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							75bed10be5 
							
						 
					 
					
						
						
							
							Check for scopes in LoadResolver.  
						
						
						
					 
					
						2021-01-12 21:41:51 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							eb035147d2 
							
						 
					 
					
						
						
							
							Rephrase erasure condition in DataFlowAnalyzer.  
						
						
						
					 
					
						2021-01-12 21:40:52 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							3ed55613ba 
							
						 
					 
					
						
						
							
							Add and use cxx20::ranges::all_of.  
						
						
						
					 
					
						2021-01-12 21:40:52 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							970e8064bb 
							
						 
					 
					
						
						
							
							Clear variables, but not backreferences in popScope.  
						
						
						
					 
					
						2021-01-12 21:40:52 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							7fe03cbab0 
							
						 
					 
					
						
						
							
							Implement cxx20 polyfill and replace InvertibleMap entirely.  
						
						
						
					 
					
						2021-01-12 21:40:40 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							625d402dbb 
							
						 
					 
					
						
						
							
							Various optimizations for the DataFlowAnalyzer.  
						
						
						
					 
					
						2021-01-12 21:39:20 +01:00 
						 
				 
			
				
					
						
							
							
								Leonardo Alt 
							
						 
					 
					
						
						
						
						
							
						
						
							ced79497f5 
							
						 
					 
					
						
						
							
							Fix BFS  
						
						
						
					 
					
						2021-01-06 10:17:17 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							0425936c8a 
							
						 
					 
					
						
						
							
							Rename AsmScope* to Scope*  
						
						
						
					 
					
						2020-12-18 11:55:17 +00:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							561280a5cc 
							
						 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/develop' into breaking  
						
						
						
					 
					
						2020-12-14 11:33:40 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							bd641a5206 
							
						 
					 
					
						
						
							
							Enable more C++ compiler warnings  
						
						
						
					 
					
						2020-12-10 21:03:58 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							7df986539f 
							
						 
					 
					
						
						
							
							Disallow using reserved identifiers in NameDispenser/VarNameCleaner  
						
						
						
					 
					
						2020-12-10 17:10:38 +01:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							06d719e4f1 
							
						 
					 
					
						
						
							
							Move filter to CommonData.h  
						
						
						
					 
					
						2020-12-09 11:13:27 +01:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							7ea96c5583 
							
						 
					 
					
						
						
							
							Move the implementation of createLinkingFunction into a cpp file  
						
						
						
					 
					
						2020-12-09 11:13:27 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6c70208d5f 
							
						 
					 
					
						
						
							
							Merge pull request  #10359  from ethereum/extra-semi  
						
						... 
						
						
						
						Enable the -Wextra-semi warning 
						
					 
					
						2020-12-07 14:35:30 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5e61f2a8cb 
							
						 
					 
					
						
						
							
							Merge pull request  #10491  from ethereum/loadStoreDialectFunctions  
						
						... 
						
						
						
						Add storage load/store functions to Yul dialect. 
						
					 
					
						2020-12-07 12:19:20 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							1e2bfbd6b2 
							
						 
					 
					
						
						
							
							Enable the -Wextra-semi warning  
						
						
						
					 
					
						2020-12-04 17:21:19 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							96a50b52e2 
							
						 
					 
					
						
						
							
							Add storage load/store functions to Yul dialect.  
						
						
						
					 
					
						2020-12-03 19:10:05 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							27e44b85e3 
							
						 
					 
					
						
						
							
							Merge pull request  #10419  from ethereum/bug-namesimplifier  
						
						... 
						
						
						
						Fix a bug in NameSimplifier. 
						
					 
					
						2020-12-03 17:52:40 +01:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							3efac3eef0 
							
						 
					 
					
						
						
							
							NameSimplifier is removed from steps available to users.  
						
						
						
					 
					
						2020-12-02 13:48:01 +01:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							5a15a4a6bd 
							
						 
					 
					
						
						
							
							Fix a bug in NameSimplifier.  
						
						... 
						
						
						
						A new name created by NameSimplifier could also be created by NameDispenser, since the knowledge of
the new name was not stored in NameSimplifier. 
						
					 
					
						2020-12-02 13:48:01 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8279d90ba2 
							
						 
					 
					
						
						
							
							Merge pull request  #10403  from ethereum/rename-asmdata  
						
						... 
						
						
						
						Rename AsmData* to AST* 
						
					 
					
						2020-12-01 14:33:11 +01:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							cf6fe5a777 
							
						 
					 
					
						
						
							
							NameDispenser: Added three public functions.  
						
						... 
						
						
						
						The private function `illegalName` was converted into a public function.
A new public getter function `usedNames()` returns a reference to `m_usedNames`.
A public function reset that would change all `m_usedNames` to *only* the names that are used in the
AST. Also resets the counter. This will be used before the final NameSimplifier step in the
optimization phase.
The first two functions were added so that `NameSimplifier` could use it instead of traversing the AST
using `NameCollector` to find used names. 
						
					 
					
						2020-11-30 14:02:57 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a5a560e163 
							
						 
					 
					
						
						
							
							Merge pull request  #10417  from ethereum/onlyClearForAssignment  
						
						... 
						
						
						
						DataFlowAnalyzer: Only clear known values for assignment. 
						
					 
					
						2020-11-30 12:02:28 +01:00