chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a06ac0f39f 
							
						 
					 
					
						
						
							
							Merge pull request  #8958  from ethereum/evm-version-dependent-rules  
						
						... 
						
						
						
						[yul] Add support for EVM version-dependent rules. 
						
					 
					
						2020-05-27 12:52:51 +02:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
						
						
							
						
						
							b7fa5d5040 
							
						 
					 
					
						
						
							
							Mark EVM instruction pc() as deprecated when used in inline assembly.  
						
						
						
					 
					
						2020-05-27 12:07:23 +02:00 
						 
				 
			
				
					
						
							
							
								Alexander Arlt 
							
						 
					 
					
						
						
						
						
							
						
						
							a7b89065ca 
							
						 
					 
					
						
						
							
							[yul] Add support for EVM version-dependent rules.  
						
						
						
					 
					
						2020-05-27 11:57:08 +02:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							d199fc537b 
							
						 
					 
					
						
						
							
							Add configurable weights to CodeSize metric  
						
						
						
					 
					
						2020-05-20 16:47:23 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							c1ed5bbb0f 
							
						 
					 
					
						
						
							
							Update Dockerfiles and CI scripts to Ubuntu 20.04 and simplify them.  
						
						
						
					 
					
						2020-05-11 17:35:01 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							debee799dc 
							
						 
					 
					
						
						
							
							Merge pull request  #8892  from ethereum/boost-cxx11  
						
						... 
						
						
						
						Replace boost/algorithm/cxx11 with C++11 features 
						
					 
					
						2020-05-11 16:29:42 +02:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							875415a132 
							
						 
					 
					
						
						
							
							Replace boost/algorithm/cxx11 with C++11 features  
						
						
						
					 
					
						2020-05-11 14:27:54 +01:00 
						 
				 
			
				
					
						
							
							
								Kamil Śliwak 
							
						 
					 
					
						
						
						
						
							
						
						
							e8aec6de54 
							
						 
					 
					
						
						
							
							More information about --yul-optimizations option in READMEs and docs  
						
						
						
					 
					
						2020-05-08 22:29:57 +02:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							6fb112fa8e 
							
						 
					 
					
						
						
							
							Remove some unneeded headers.  
						
						
						
					 
					
						2020-05-07 01:49:46 +02:00 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Alexander Arlt 
							
						 
					 
					
						
						
						
						
							
						
						
							aac7a1e434 
							
						 
					 
					
						
						
							
							Apply modernize-pass-by-value.  
						
						
						
					 
					
						2020-04-14 10:32:13 -05:00 
						 
				 
			
				
					
						
							
							
								Mathias Baumann 
							
						 
					 
					
						
						
						
						
							
						
						
							5203503583 
							
						 
					 
					
						
						
							
							Allow for per-parameter literalValues builtin functions  
						
						
						
					 
					
						2020-04-08 16:41:38 +02:00 
						 
				 
			
				
					
						
							
							
								Alexander Arlt 
							
						 
					 
					
						
						
						
						
							
						
						
							cae6e7769f 
							
						 
					 
					
						
						
							
							Apply modernize-use-override.  
						
						
						
					 
					
						2020-04-02 18:00:44 -05:00 
						 
				 
			
				
					
						
							
							
								Djordje Mijovic 
							
						 
					 
					
						
						
						
						
							
						
						
							c891597204 
							
						 
					 
					
						
						
							
							Adding ssa type check and test for that one  
						
						
						
					 
					
						2020-02-24 15:05:19 +01:00 
						 
				 
			
				
					
						
							
							
								Djordje Mijovic 
							
						 
					 
					
						
						
						
						
							
						
						
							2efda4129b 
							
						 
					 
					
						
						
							
							Adding test for multi return values including bool in evmTyped dialect. Calling zeroLiteralForType from inliner  
						
						
						
					 
					
						2020-02-24 15:05:19 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							a52305d3bd 
							
						 
					 
					
						
						
							
							Use bool type in conditional simplifier and for loop condition into body.  
						
						
						
					 
					
						2020-02-24 15:05:19 +01:00 
						 
				 
			
				
					
						
							
							
								Djordje Mijovic 
							
						 
					 
					
						
						
						
						
							
						
						
							a52c9af5b9 
							
						 
					 
					
						
						
							
							Adding vardecl optimization for boolean types  
						
						
						
					 
					
						2020-02-24 15:05:19 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							e75cace78d 
							
						 
					 
					
						
						
							
							Properly assign types in control flow simplifier.  
						
						
						
					 
					
						2020-02-24 15:05:19 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							b9b36cd89e 
							
						 
					 
					
						
						
							
							Properly assign types in ExpressionSplitter.  
						
						
						
					 
					
						2020-02-24 15:05:19 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							915cb65106 
							
						 
					 
					
						
						
							
							Collect types together with names.  
						
						
						
					 
					
						2020-02-24 15:05:19 +01:00 
						 
				 
			
				
					
						
							
							
								Jason Cobb 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6db0d50094 
							
						 
					 
					
						
						
							
							Don't use identifiers starting with an underscore followed by an uppercase letter  
						
						
						
					 
					
						2020-02-17 12:44:39 -05:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0e100e7e7e 
							
						 
					 
					
						
						
							
							Merge pull request  #8267  from ghallak/prune-unnecessary-funcs  
						
						... 
						
						
						
						[Yul] Prune functions that call each other but are otherwise unreferenced 
						
					 
					
						2020-02-12 11:09:27 +01:00 
						 
				 
			
				
					
						
							
							
								Gaith Hallak 
							
						 
					 
					
						
						
						
						
							
						
						
							24d6702986 
							
						 
					 
					
						
						
							
							[Yul] Prune functions that call each other but are otherwise unreferenced  
						
						
						
					 
					
						2020-02-11 20:39:32 +03:00 
						 
				 
			
				
					
						
							
							
								Mathias Baumann 
							
						 
					 
					
						
						
						
						
							
						
						
							1a3998648c 
							
						 
					 
					
						
						
							
							Run yul optimizer on user code without refs  
						
						
						
					 
					
						2020-02-11 13:55:47 +01: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 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							b8488597da 
							
						 
					 
					
						
						
							
							Combine value and loop depth.  
						
						
						
					 
					
						2020-01-08 12:25:46 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							40c0602b5c 
							
						 
					 
					
						
						
							
							Do not rematerialize in loops.  
						
						
						
					 
					
						2020-01-08 09:56:08 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							25d3f27c11 
							
						 
					 
					
						
						
							
							Tune Rematerializer  
						
						
						
					 
					
						2020-01-08 09:56:08 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							aab8b9bc36 
							
						 
					 
					
						
						
							
							Fix redundant assignment removal in combination with break / continue.  
						
						
						
					 
					
						2019-12-29 15:53:47 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							b6fc703a27 
							
						 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/release' into HEAD  
						
						
						
					 
					
						2019-12-17 19:47:59 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							7b84e141dc 
							
						 
					 
					
						
						
							
							Descend into for loops when determining call graph.  
						
						
						
					 
					
						2019-12-17 13:47:51 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							42d9a8e962 
							
						 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/develop' into develop_060  
						
						
						
					 
					
						2019-12-04 17:01:44 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							bbeb093abf 
							
						 
					 
					
						
						
							
							Detect loops in call graph generator.  
						
						
						
					 
					
						2019-12-03 21:38:20 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f7fc42d8c3 
							
						 
					 
					
						
						
							
							Merge pull request  #7826  from ethereum/develop  
						
						... 
						
						
						
						Merge develop into develop_060 
						
					 
					
						2019-11-28 13:37:19 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							1ebcc757e1 
							
						 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/develop' into develop_060  
						
						
						
					 
					
						2019-11-27 19:14:08 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							9e9b643b93 
							
						 
					 
					
						
						
							
							Tune the suite.  
						
						
						
					 
					
						2019-11-27 11:56:11 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							b0db64ff5b 
							
						 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/develop' into develop_060  
						
						
						
					 
					
						2019-11-26 16:19:35 +01:00 
						 
				 
			
				
					
						
							
							
								Leonardo Alt 
							
						 
					 
					
						
						
						
						
							
						
						
							2bfa3a7c97 
							
						 
					 
					
						
						
							
							Rewrite GenericVisitor  
						
						
						
					 
					
						2019-11-26 15:55:06 +01:00 
						 
				 
			
				
					
						
							
							
								Leonardo Alt 
							
						 
					 
					
						
						
						
						
							
						
						
							72eff30778 
							
						 
					 
					
						
						
							
							Fix develop 060 merge  
						
						
						
					 
					
						2019-11-20 13:49:40 +01:00