hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							85d1a57e65 
							
						 
					 
					
						
						
							
							Added more tests. Updated chromosome. Remove unused headers.  
						
						
						
					 
					
						2022-01-04 13:27:39 +05:30 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							772e100813 
							
						 
					 
					
						
						
							
							Equal store eliminator.  
						
						
						
					 
					
						2022-01-03 15:52:05 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							0e7a065a78 
							
						 
					 
					
						
						
							
							Enhance documentation.  
						
						
						
					 
					
						2021-11-23 14:58:04 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							bd321b9f1f 
							
						 
					 
					
						
						
							
							Rename RedundantAssignEliminator to UnusedAssignEliminator.  
						
						
						
					 
					
						2021-11-23 10:38:36 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							9fb77b139c 
							
						 
					 
					
						
						
							
							Keep canonical form of Yul code at all times.  
						
						
						
					 
					
						2021-11-09 13:29:10 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							b4f98b41bc 
							
						 
					 
					
						
						
							
							Minor fix to forEach on Yul AST nodes.  
						
						
						
					 
					
						2021-11-05 13:24:30 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							776ae466bc 
							
						 
					 
					
						
						
							
							Control flow side effects on non-disambiguated source.  
						
						
						
					 
					
						2021-11-04 16:32:11 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							dd8f12760b 
							
						 
					 
					
						
						
							
							Introduce forEach for yul ast nodes.  
						
						
						
					 
					
						2021-11-04 16:14:43 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							95c973d6c2 
							
						 
					 
					
						
						
							
							Refactoring of optimiser suite and yulopti.  
						
						
						
					 
					
						2021-11-03 19:33:01 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							4229369180 
							
						 
					 
					
						
						
							
							Compatibility with StackCompressor and StackLimitEvader.  
						
						
						
					 
					
						2021-11-03 12:39:55 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							d6c461ed61 
							
						 
					 
					
						
						
							
							Use side effects of user-defined functions in other optimizer steps.  
						
						
						
					 
					
						2021-11-02 11:59:01 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							9417d6775f 
							
						 
					 
					
						
						
							
							Control flow side-effects for user-defined functions.  
						
						
						
					 
					
						2021-10-14 17:46:07 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							620ec47efb 
							
						 
					 
					
						
						
							
							OptimizerSuite: Rewrite runSequence() with support for nested brackets  
						
						
						
					 
					
						2021-10-06 19:15:02 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							2fb8f1be5b 
							
						 
					 
					
						
						
							
							OptimiserSuite: Use string_view instead of string for step sequences  
						
						
						
					 
					
						2021-10-06 18:48:41 +02:00 
						 
				 
			
				
					
						
							
							
								Sreekesh V 
							
						 
					 
					
						
						
						
						
							
						
						
							79d9d5bf0d 
							
						 
					 
					
						
						
							
							Change optimizer sequence validations to allow nested brackets  
						
						
						
					 
					
						2021-10-06 18:46:53 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							1531863835 
							
						 
					 
					
						
						
							
							Split Common.h into Numeric.h.  
						
						
						
					 
					
						2021-09-23 15:27:29 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							280ff8cbd4 
							
						 
					 
					
						
						
							
							Use iterateReplacing in StatementRemover.  
						
						
						
					 
					
						2021-09-16 15:34:48 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							c499f27a63 
							
						 
					 
					
						
						
							
							Change RematCandidateSelector to not depend on variable name sorting.  
						
						
						
					 
					
						2021-09-08 15:41:40 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							be95a8172b 
							
						 
					 
					
						
						
							
							Merge pull request  #11891  from ethereum/guidedRematerializer  
						
						... 
						
						
						
						Allow the Rematerializer to be restricted to an exact set of variables. 
						
					 
					
						2021-09-06 16:22:14 +02:00 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							2cdd3b2081 
							
						 
					 
					
						
						
							
							Resolving Keccak-256: check if arguments are identifiers early.  
						
						... 
						
						
						
						Previously, the check on whether the optimization was useful gas wise was done before checking if
the keccak256 opcode had identifier as arguments. Since the gas meter crashes when encountering
certain Yul opcodes (create, dataoffset, etc.), this optimizer step crashed. 
						
					 
					
						2021-09-06 13:48:07 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							646421fee1 
							
						 
					 
					
						
						
							
							Allow the Rematerializer to be restricted to an exact set of variables.  
						
						
						
					 
					
						2021-09-03 15:29:51 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							8926274000 
							
						 
					 
					
						
						
							
							Fix recursion protection.  
						
						
						
					 
					
						2021-08-19 12:51:54 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							4b038e3f02 
							
						 
					 
					
						
						
							
							Extend knowledge base.  
						
						
						
					 
					
						2021-08-18 12:42:46 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							f609288cba 
							
						 
					 
					
						
						
							
							Add missing header.  
						
						
						
					 
					
						2021-08-17 16:04:38 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							3622b30a1d 
							
						 
					 
					
						
						
							
							Refactor RedundantAssignEliminator.  
						
						
						
					 
					
						2021-08-13 14:25:14 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							c341445f8e 
							
						 
					 
					
						
						
							
							Maintain disambiguation when generating new functions in StackToMemoryMover.  
						
						
						
					 
					
						2021-06-28 18:11:57 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							dfce7b667d 
							
						 
					 
					
						
						
							
							Move function arguments and return values.  
						
						
						
					 
					
						2021-06-28 18:11:57 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							cc0169ad68 
							
						 
					 
					
						
						
							
							Function definition collector.  
						
						
						
					 
					
						2021-06-28 18:11:57 +02:00 
						 
				 
			
				
					
						
							
							
								TerranCivilian 
							
						 
					 
					
						
						
						
						
							
						
						
							c15501eea9 
							
						 
					 
					
						
						
							
							Remove unneeded include files  
						
						
						
					 
					
						2021-06-07 12:53:18 -04:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							d305c219d8 
							
						 
					 
					
						
						
							
							Fix namespace styles.  
						
						
						
					 
					
						2021-05-27 17:41:04 +02:00 
						 
				 
			
				
					
						
							
							
								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