Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							f95388011b 
							
						 
					 
					
						
						
							
							Allow simplification patterns to signal failure  
						
						
						
					 
					
						2019-03-19 15:51:52 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							57bcb8ba83 
							
						 
					 
					
						
						
							
							[yul] Ensures DataFlowAnalyzer works fine with break/continue statements just like without.  
						
						
						
					 
					
						2019-03-14 16:18:45 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							62d8080a19 
							
						 
					 
					
						
						
							
							Update optimiser readme.  
						
						
						
					 
					
						2019-03-12 22:02:09 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
						
						
							
						
						
							05e2d362c8 
							
						 
					 
					
						
						
							
							[Yul] Adds break/continue statements and some general tests for for-loop syntax.  
						
						
						
					 
					
						2019-03-11 15:05:05 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							791fde953d 
							
						 
					 
					
						
						
							
							First simplify switch with known constant expression.  
						
						
						
					 
					
						2019-03-06 21:32:55 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							21115f8050 
							
						 
					 
					
						
						
							
							Fix visitation order bug for structural simplifier.  
						
						
						
					 
					
						2019-03-06 19:34:07 +01:00 
						 
				 
			
				
					
						
							
							
								Mathias Baumann 
							
						 
					 
					
						
						
						
						
							
						
						
							21322dae29 
							
						 
					 
					
						
						
							
							YulOpt: Remove empty cases  
						
						
						
					 
					
						2019-03-06 19:02:23 +01:00 
						 
				 
			
				
					
						
							
							
								Mathias Baumann 
							
						 
					 
					
						
						
						
						
							
						
						
							be52aa3181 
							
						 
					 
					
						
						
							
							YulOpt: Move if-branches into functions  
						
						
						
					 
					
						2019-03-06 19:01:05 +01:00 
						 
				 
			
				
					
						
							
							
								Mathias Baumann 
							
						 
					 
					
						
						
						
						
							
						
						
							3ce7069766 
							
						 
					 
					
						
						
							
							YulOpt: Remove empty cases  
						
						
						
					 
					
						2019-03-06 18:39:44 +01:00 
						 
				 
			
				
					
						
							
							
								Mathias Baumann 
							
						 
					 
					
						
						
						
						
							
						
						
							433175b19e 
							
						 
					 
					
						
						
							
							YulOpt: Add comment about optimization  
						
						
						
					 
					
						2019-03-06 18:39:44 +01:00 
						 
				 
			
				
					
						
							
							
								Mathias Baumann 
							
						 
					 
					
						
						
						
						
							
						
						
							db3bea7b56 
							
						 
					 
					
						
						
							
							Use reference for so we have to type less  
						
						
						
					 
					
						2019-03-06 18:39:44 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							831353c590 
							
						 
					 
					
						
						
							
							Merge pull request  #6172  from ethereum/runYulOptAsLongAsHelpful  
						
						... 
						
						
						
						[Yul] Run yul optimizer until it has no effect anymore. 
						
					 
					
						2019-03-06 11:41:22 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							f35694f655 
							
						 
					 
					
						
						
							
							Run yul optimizer until it has no effect anymore.  
						
						
						
					 
					
						2019-03-05 20:30:13 +01:00 
						 
				 
			
				
					
						
							
							
								Mathias Baumann 
							
						 
					 
					
						
						
						
						
							
						
						
							f6e09d6368 
							
						 
					 
					
						
						
							
							YulOpt: Extend StructuralSimplifier to work with all types  
						
						
						
					 
					
						2019-03-05 18:39:27 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							3f784d6e00 
							
						 
					 
					
						
						
							
							Do not prepend function name to all variables when inlining.  
						
						
						
					 
					
						2019-03-04 18:07:00 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
						
						
							
						
						
							609855546e 
							
						 
					 
					
						
						
							
							Yul: Adds optimizer pass to make variable names suffix-canonical.  
						
						
						
					 
					
						2019-03-04 17:26:56 +01:00 
						 
				 
			
				
					
						
							
							
								Mathias Baumann 
							
						 
					 
					
						
						
						
						
							
						
						
							c686a65876 
							
						 
					 
					
						
						
							
							Yul Optimizer: reduce switches with const arguments  
						
						
						
					 
					
						2019-02-28 15:43:10 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							477c53a46f 
							
						 
					 
					
						
						
							
							Fix expression simplifying by moving from SSAValueTracker to DataFlowAnalyzer as a base.  
						
						
						
					 
					
						2019-02-27 16:14:39 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8aeebf7fcd 
							
						 
					 
					
						
						
							
							Merge pull request  #6071  from ethereum/moveEVMVersionToEVMDialect  
						
						... 
						
						
						
						Make EVM version part of EVM dialect. 
						
					 
					
						2019-02-25 11:56:53 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							7f5b335b47 
							
						 
					 
					
						
						
							
							Make EVM version part of EVM dialect.  
						
						
						
					 
					
						2019-02-21 21:59:46 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							91fb2d094d 
							
						 
					 
					
						
						
							
							Clear state when entering new function.  
						
						
						
					 
					
						2019-02-21 20:04:20 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							8ca6715e18 
							
						 
					 
					
						
						
							
							More style checks.  
						
						
						
					 
					
						2019-02-14 11:41:20 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							1a823f0bf8 
							
						 
					 
					
						
						
							
							Fix tabs/spaces.  
						
						
						
					 
					
						2019-02-13 17:05:48 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							83083d2208 
							
						 
					 
					
						
						
							
							Stack compressor.  
						
						
						
					 
					
						2019-02-11 15:48:29 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							5a34743d88 
							
						 
					 
					
						
						
							
							Allow optimizer steps to run on FunctionDefinition and group suite.  
						
						
						
					 
					
						2019-02-11 15:48:29 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							b34e104173 
							
						 
					 
					
						
						
							
							Make dialect a shared pointer.  
						
						
						
					 
					
						2019-02-11 15:48:29 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							11969cd760 
							
						 
					 
					
						
						
							
							Add some more explicit moves required in some compiler and boost version combinations.  
						
						
						
					 
					
						2019-02-04 15:50:41 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							ee09d54525 
							
						 
					 
					
						
						
							
							Change FIXMEs into TODOs where appropriate  
						
						
						
					 
					
						2019-01-29 00:35:23 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2fc7928697 
							
						 
					 
					
						
						
							
							Merge pull request  #5864  from ethereum/tuneOptOrder  
						
						... 
						
						
						
						Some optimizer tuning. 
						
					 
					
						2019-01-28 13:50:09 +00:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							12e2187661 
							
						 
					 
					
						
						
							
							Some tuning.  
						
						
						
					 
					
						2019-01-24 23:06:01 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							1fc98b8133 
							
						 
					 
					
						
						
							
							Fix optimizer suite.  
						
						
						
					 
					
						2019-01-24 20:42:32 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							29f66b2674 
							
						 
					 
					
						
						
							
							Stabilize SSAReverser.  
						
						
						
					 
					
						2019-01-17 21:05:32 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							fd16585724 
							
						 
					 
					
						
						
							
							Undo second SSA transformation and add more tests.  
						
						
						
					 
					
						2019-01-17 20:37:43 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							6de2d92f20 
							
						 
					 
					
						
						
							
							Add SSAReverser to the yul optimiser.  
						
						
						
					 
					
						2019-01-17 20:37:43 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							065c3c87af 
							
						 
					 
					
						
						
							
							libyul: changing some AST members from shared_ptr<> to unique_ptr<>  
						
						... 
						
						
						
						* Some spaces look a little more verbose now, but that shouln't be a problem as it also should raise readability, too.
* This makes some use of return-value-optimizations also. 
						
					 
					
						2019-01-16 14:58:59 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							81f24f24e6 
							
						 
					 
					
						
						
							
							Add equivalent function combiner as Yul optimizer step.  
						
						
						
					 
					
						2019-01-15 17:21:03 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							4c8f8e9491 
							
						 
					 
					
						
						
							
							Disallow mismatching types in switch cases and detect duplicates by value for number literals.  
						
						
						
					 
					
						2019-01-15 16:32:21 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							5a99623fec 
							
						 
					 
					
						
						
							
							Avoid explicit conversion from Block to Statement in CodeSize visit.  
						
						
						
					 
					
						2019-01-11 12:52:24 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							d9c6773664 
							
						 
					 
					
						
						
							
							Adjust inlining thresholds.  
						
						
						
					 
					
						2019-01-09 16:57:33 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							edda79eec5 
							
						 
					 
					
						
						
							
							Variables are free with regards to code size.  
						
						
						
					 
					
						2019-01-09 16:57:33 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							5b8b016fae 
							
						 
					 
					
						
						
							
							Use the block flattener.  
						
						
						
					 
					
						2019-01-08 16:02:14 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							f5b24a38b8 
							
						 
					 
					
						
						
							
							Make function grouper idempotent.  
						
						
						
					 
					
						2019-01-08 15:05:09 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							5b73c2ae3b 
							
						 
					 
					
						
						
							
							Take special functions that require literals into account.  
						
						
						
					 
					
						2019-01-07 17:23:38 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							9222eff08f 
							
						 
					 
					
						
						
							
							Make the dialect available everywhere.  
						
						
						
					 
					
						2019-01-07 16:41:03 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							2e9c70add0 
							
						 
					 
					
						
						
							
							Use rematerializer if variable is unreferenced or value is "cheap".  
						
						
						
					 
					
						2019-01-07 14:03:32 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							62fe57479e 
							
						 
					 
					
						
						
							
							make use of C++ = default constructor declarations as well as more non-static member initialization syntax.  
						
						
						
					 
					
						2018-12-19 11:26:42 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							bf7d71d6b3 
							
						 
					 
					
						
						
							
							Merge pull request  #5613  from ethereum/yulStringLiterals  
						
						... 
						
						
						
						[Yul] Use C++ user-defined literals for creating YulString constants. 
						
					 
					
						2018-12-17 14:07:24 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							bc22a25a60 
							
						 
					 
					
						
						
							
							Remove VarDeclPropagator.  
						
						
						
					 
					
						2018-12-13 16:51:10 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							6c6a53a439 
							
						 
					 
					
						
						
							
							Do not create unassigned variables.  
						
						
						
					 
					
						2018-12-13 16:51:10 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							11209ec48a 
							
						 
					 
					
						
						
							
							Add variable declaration initializer.  
						
						
						
					 
					
						2018-12-13 16:49:04 +01:00