chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							5950ec306b 
							
						 
					 
					
						
						
							
							Code to output performance metrics for optimizer steps.  
						
						
						
					 
					
						2022-11-22 18:44:01 +01: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 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							4f02be110c 
							
						 
					 
					
						
						
							
							Unused store eliminator.  
						
						
						
					 
					
						2022-03-10 18:25:28 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							772e100813 
							
						 
					 
					
						
						
							
							Equal store eliminator.  
						
						
						
					 
					
						2022-01-03 15:52:05 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								anurag4u80 
							
						 
					 
					
						
						
						
						
							
						
						
							c4cf412fed 
							
						 
					 
					
						
						
							
							Replaced boost remove_erase and remove_erase_if  
						
						
						
					 
					
						2021-04-24 08:10:41 +05:30 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							1f5b874eaf 
							
						 
					 
					
						
						
							
							Optimizer context has parameter expectedExecutionsPerDeployment  
						
						
						
					 
					
						2021-04-22 17:27:57 +02:00 
						 
				 
			
				
					
						
							
							
								anurag4u80 
							
						 
					 
					
						
						
						
						
							
						
						
							bbcdddeed9 
							
						 
					 
					
						
						
							
							Replaced keys, values and reverse with ranges  
						
						
						
					 
					
						2021-03-31 23:33:04 +05:30 
						 
				 
			
				
					
						
							
							
								hrkrshnn 
							
						 
					 
					
						
						
						
						
							
						
						
							45a3747701 
							
						 
					 
					
						
						
							
							Added FunctionSpecializer to the optimization suite  
						
						
						
					 
					
						2021-03-29 11:02:18 +02: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 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8279d90ba2 
							
						 
					 
					
						
						
							
							Merge pull request  #10403  from ethereum/rename-asmdata  
						
						... 
						
						
						
						Rename AsmData* to AST* 
						
					 
					
						2020-12-01 14:33:11 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							ac9b31d623 
							
						 
					 
					
						
						
							
							Abort early if the optimizer sequence is empty.  
						
						
						
					 
					
						2020-11-26 16:41:20 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							a22077f736 
							
						 
					 
					
						
						
							
							Rename AsmData -> AST  
						
						... 
						
						
						
						Also attempt to only include ASTForward where appropriate. 
						
					 
					
						2020-11-25 17:58:02 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							61a03036fe 
							
						 
					 
					
						
						
							
							Refactor stack to memory mover in preparation of moving function arguments.  
						
						
						
					 
					
						2020-10-13 12:20:04 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							5442a7ade2 
							
						 
					 
					
						
						
							
							Always run the FunctionHoister as part of the optimizer Suite.  
						
						
						
					 
					
						2020-10-06 22:30:37 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							f4b42d1c72 
							
						 
					 
					
						
						
							
							Add stack limit evader.  
						
						
						
					 
					
						2020-09-17 22:13:27 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							bfd3ab23e2 
							
						 
					 
					
						
						
							
							Disallow optimizer steps that require SMT if none is available.  
						
						
						
					 
					
						2020-09-15 15:57:59 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							9bcc2f1713 
							
						 
					 
					
						
						
							
							Make ReasoningBasedSimplifier available as step.  
						
						
						
					 
					
						2020-09-15 15:57:59 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							6101bdf7e2 
							
						 
					 
					
						
						
							
							Name simplifier.  
						
						
						
					 
					
						2020-09-10 16:23:29 +02:00 
						 
				 
			
				
					
						
							
							
								Harikrishnan Mulackal 
							
						 
					 
					
						
						
						
						
							
						
						
							e2fd41f097 
							
						 
					 
					
						
						
							
							Implemented UnusedFunctionArgumentPruner  
						
						
						
					 
					
						2020-09-03 13:15:38 +02:00 
						 
				 
			
				
					
						
							
							
								Sachin Grover 
							
						 
					 
					
						
						
						
						
							
						
						
							b7adb2aa42 
							
						 
					 
					
						
						
							
							Add SPDX license identifier if not present already in source file  
						
						... 
						
						
						
						Fixes : #9220  
					
						2020-07-17 20:24:12 +05:30 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							c41a832f65 
							
						 
					 
					
						
						
							
							Move the default optimisation steps from OptimiserSuite to OptimiserSettings  
						
						... 
						
						
						
						- Now it's a mandatory parameter in OptimiserSuite::run() 
						
					 
					
						2020-04-24 17:30:56 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							69b79f848b 
							
						 
					 
					
						
						
							
							OptimiserSuite: Allow validating the optimisation sequence without executing it  
						
						... 
						
						
						
						- Create a separate validateSequence() that can be used independently.
- Tweak the exception messages a bit to be usable as command-line errors 
						
					 
					
						2020-04-24 17:30:56 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							e2c0e6331c 
							
						 
					 
					
						
						
							
							OptimiserSuite: Define NonStepAbbreviations and use it for extra sanity checks  
						
						
						
					 
					
						2020-04-24 17:30:56 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							5a515240ac 
							
						 
					 
					
						
						
							
							OptimiserSuite: Use brackets instead of parentheses as syntax for repeating abbreviation sequences  
						
						... 
						
						
						
						- We want to start accepting abbreviation sequences on the command line and parentheses would always have to be escaped in that context.
- There wasn't any important reason behind choosing () rather than [] or {} and it still isn't too late to switch. 
						
					 
					
						2020-04-24 17:30:56 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							9db7d2bde9 
							
						 
					 
					
						
						
							
							OptimiserSuite: Replace full step names in run() with abbreviations  
						
						
						
					 
					
						2020-04-16 16:09:15 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							9d7df5db69 
							
						 
					 
					
						
						
							
							OptimiserSuite: Add a variant of runSequence() that works with a string of abbreviations  
						
						
						
					 
					
						2020-04-16 16:09:15 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							1b4e06605d 
							
						 
					 
					
						
						
							
							OptimiserSuite: Extract the code for repeating a sequence into runSequenceUntilStable()  
						
						... 
						
						
						
						- Define a constant for the maximum number of repeats of the optimisation string 
						
					 
					
						2020-04-16 15:23:38 +02:00 
						 
				 
			
				
					
						
							
							
								Gaith Hallak 
							
						 
					 
					
						
						
						
						
							
						
						
							24d6702986 
							
						 
					 
					
						
						
							
							[Yul] Prune functions that call each other but are otherwise unreferenced  
						
						
						
					 
					
						2020-02-11 20:39:32 +03:00 
						 
				 
			
				
					
						
							
							
								cameel 
							
						 
					 
					
						
						
						
						
							
						
						
							4e7c1c7876 
							
						 
					 
					
						
						
							
							OptimiserSuite: Add two maps for converting between step names and abbreviations  
						
						... 
						
						
						
						- Abbreviations match those used in yulopti.
- I considered using boost::bimap but I think it would be an overkill. Two simple maps are good enough in a situation where data is constant and there isn't much of it.
- I could also use InvertibleMap from libsolutil but I don't even need any of its methods since my map is a constant. I also don't need the inverted map to store sets because my values are unique.
- The reverseMap() is generic enough to be moved to some global file with utilities but I don't sure if it's going to actually be useful to others in practice. 
						
					 
					
						2020-02-03 12:22:47 +01:00 
						 
				 
			
				
					
						
							
							
								cameel 
							
						 
					 
					
						
						
						
						
							
						
						
							2ee7e6042b 
							
						 
					 
					
						
						
							
							OptimiserSuite: Remove VarNameCleaner from the list of available steps  
						
						
						
					 
					
						2020-01-30 17:35:27 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
						
						
							
						
						
							345f9928ab 
							
						 
					 
					
						
						
							
							Library libdevcore renamed to libsolutil.  
						
						
						
					 
					
						2020-01-07 15:51:50 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
						
						
							
						
						
							6b23412fae 
							
						 
					 
					
						
						
							
							C++ namespace cleanup (except tests).  
						
						
						
					 
					
						2020-01-07 15:51:50 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							301215f186 
							
						 
					 
					
						
						
							
							Merge pull request  #7461  from sifmelcara/licm  
						
						... 
						
						
						
						[YulOpt] Implement loop-invariant code motion 
						
					 
					
						2019-11-28 12:00:19 +01:00 
						 
				 
			
				
					
						
							
							
								mingchuan 
							
						 
					 
					
						
						
						
						
							
						
						
							db60d123d0 
							
						 
					 
					
						
						
							
							[YulOpt] Implement loop-invariant code motion  
						
						
						
					 
					
						2019-11-28 11:59:29 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							9e9b643b93 
							
						 
					 
					
						
						
							
							Tune the suite.  
						
						
						
					 
					
						2019-11-27 11:56:11 +01:00 
						 
				 
			
				
					
						
							
							
								Leonardo Alt 
							
						 
					 
					
						
						
						
						
							
						
						
							be849b3c47 
							
						 
					 
					
						
						
							
							Replace boost::variant by std::variant in libyul  
						
						
						
					 
					
						2019-11-19 17:23:18 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							02d5b7c18a 
							
						 
					 
					
						
						
							
							Run literal rematerializer before for loop condition out of body.  
						
						
						
					 
					
						2019-11-01 14:01:56 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							61a2d44f38 
							
						 
					 
					
						
						
							
							Conditional unsimplifier  
						
						
						
					 
					
						2019-11-01 14:01:56 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							5d6e983be3 
							
						 
					 
					
						
						
							
							Conditional simplifier.  
						
						
						
					 
					
						2019-11-01 14:01:56 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							45705b0e29 
							
						 
					 
					
						
						
							
							Debug optimizer steps.  
						
						
						
					 
					
						2019-10-16 14:06:18 +02:00