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 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							b11d413720 
							
						 
					 
					
						
						
							
							Consider return variables to be zero initially.  
						
						
						
					 
					
						2018-12-13 16:02:30 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							60a368244a 
							
						 
					 
					
						
						
							
							Do not inline into already big functions.  
						
						
						
					 
					
						2018-12-13 12:12:54 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							5ac7620045 
							
						 
					 
					
						
						
							
							Use C++ user-defined literals for creating YulString constants.  
						
						
						
					 
					
						2018-12-12 18:45:43 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							9557dd7e74 
							
						 
					 
					
						
						
							
							Support unassigned variables in the SSA value tracker and the data flow analyzer.  
						
						
						
					 
					
						2018-12-12 18:06:28 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							a18985800f 
							
						 
					 
					
						
						
							
							Fix compilation for certain combinations of boost and gcc.  
						
						
						
					 
					
						2018-12-12 07:51:23 +01:00 
						 
				 
			
				
					
						
							
							
								liangdzou 
							
						 
					 
					
						
						
						
						
							
						
						
							362648a450 
							
						 
					 
					
						
						
							
							Reuse stack slots in Yul to EVM code generation.  
						
						
						
					 
					
						2018-12-10 14:28:56 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							1eb60cbb39 
							
						 
					 
					
						
						
							
							Add structural simplifier as optimization step for Yul.  
						
						
						
					 
					
						2018-12-06 18:37:35 +01:00 
						 
				 
			
				
					
						
							
							
								Mathias Baumann 
							
						 
					 
					
						
						
						
						
							
						
						
							d0204eef2f 
							
						 
					 
					
						
						
							
							SSAValueTracker should only use nullptr for default values  
						
						
						
					 
					
						2018-12-05 18:01:41 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							32c9da9419 
							
						 
					 
					
						
						
							
							Merge pull request  #5593  from ethereum/issue-5384  
						
						... 
						
						
						
						Fix expression simplifier asserting on default values 
						
					 
					
						2018-12-05 17:58:23 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							538d707439 
							
						 
					 
					
						
						
							
							Relax dependency of FullInliner on FunctionHoister.  
						
						
						
					 
					
						2018-12-05 11:53:31 +01:00 
						 
				 
			
				
					
						
							
							
								Mathias Baumann 
							
						 
					 
					
						
						
						
						
							
						
						
							54846ed0a7 
							
						 
					 
					
						
						
							
							Fix expression simplifier asserting on default values  
						
						
						
					 
					
						2018-12-05 11:43:02 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							1b8a013d4a 
							
						 
					 
					
						
						
							
							Properly recurse in ForLoopInitRewriter  
						
						
						
					 
					
						2018-12-04 13:36:25 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
						
						
							
						
						
							8dd0338d12 
							
						 
					 
					
						
						
							
							Remove superfluous libyul/ASTDataForward.h and include libyul/AsmDataForward directly instead.  
						
						
						
					 
					
						2018-11-23 14:29:05 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ec47c8946b 
							
						 
					 
					
						
						
							
							Isolating libyul library API into its own namespace yul.  
						
						
						
					 
					
						2018-11-23 14:29:00 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
						
						
							
						
						
							713d94476e 
							
						 
					 
					
						
						
							
							Reorder some include files and group <libyul/>'s together (as much as possible)  
						
						
						
					 
					
						2018-11-23 12:37:19 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0f4ed52a71 
							
						 
					 
					
						
						
							
							Rewrite header paths to adapt to recent git mv of libsolidity/inlineasm to libyul  
						
						
						
					 
					
						2018-11-23 11:18:57 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
						
						
							
						
						
							d67322a186 
							
						 
					 
					
						
						
							
							Introduce namespace langutil in liblangutil directory.  
						
						... 
						
						
						
						Also:
- Use {}-style list initialisation for SourceLocation construction
- Introduce new system includes
- Changes the API of the Scanner to take source as value (with move) as opposed to as a reference 
						
					 
					
						2018-11-21 19:13:44 +00:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
						
						
							
						
						
							87821c53c3 
							
						 
					 
					
						
						
							
							Isolating files shared between Yul- and Solidity language frontend.  
						
						
						
					 
					
						2018-11-21 18:58:12 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c9ee30294c 
							
						 
					 
					
						
						
							
							Merge pull request  #5444  from Mordax/issue-5168-rmvirtual  
						
						... 
						
						
						
						Removing redundant virtual from override function declaration 
						
					 
					
						2018-11-21 15:16:08 +00:00 
						 
				 
			
				
					
						
							
							
								mordax 
							
						 
					 
					
						
						
						
						
							
						
						
							ea8b7d803e 
							
						 
					 
					
						
						
							
							Removing redundant virtual from override function declaration  
						
						... 
						
						
						
						Remove trailing whitespace
Remove changelog change 
						
					 
					
						2018-11-21 14:37:32 +00:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f705a45d43 
							
						 
					 
					
						
						
							
							[Yul] Implements a pass to rewrite for-loop's pre block into the parent's Block.  
						
						
						
					 
					
						2018-11-16 13:15:41 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							b1454433b2 
							
						 
					 
					
						
						
							
							Remove variables that go out of scope from data structure.  
						
						
						
					 
					
						2018-11-12 23:00:37 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							faa7b61d76 
							
						 
					 
					
						
						
							
							Use map join algorithm for performance.  
						
						
						
					 
					
						2018-11-12 23:00:37 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							fa44d20721 
							
						 
					 
					
						
						
							
							Remove side-effect-free statements.  
						
						
						
					 
					
						2018-11-08 18:14:36 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							cd11f7cfac 
							
						 
					 
					
						
						
							
							Merge pull request  #5325  from ethereum/fixDataFlow  
						
						... 
						
						
						
						[Yul] Fix data flow analyzer for function definitions. 
						
					 
					
						2018-11-08 12:52:51 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b801e61611 
							
						 
					 
					
						
						
							
							Merge pull request  #5365  from ethereum/improveNameDispenser  
						
						... 
						
						
						
						[Yul] Use single counter for name dispenser for performance reasons. 
						
					 
					
						2018-11-08 12:24:21 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							37766ee8e4 
							
						 
					 
					
						
						
							
							Add VarDeclPropagator to full suite and interactive optimizer.  
						
						
						
					 
					
						2018-11-07 23:19:42 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							845899e305 
							
						 
					 
					
						
						
							
							Use single counter for name dispenser for performance reasons.  
						
						
						
					 
					
						2018-11-07 23:09:33 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							b2b11eaa00 
							
						 
					 
					
						
						
							
							Fix data flow analyzer for function definitions.  
						
						
						
					 
					
						2018-11-07 20:32:55 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							674e17c2a8 
							
						 
					 
					
						
						
							
							Performance: Replace string by special single-copy YulString class.  
						
						
						
					 
					
						2018-11-07 19:30:27 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ab0de38f16 
							
						 
					 
					
						
						
							
							Eliminate byte-typedef and use uint8_t in all their places instead.  
						
						... 
						
						
						
						This change is made to (easily) be forward compatible with future C++
standards, in order to allow compiling the code with newer standards at
some point in the future.
* Removed the `using byte = uint8_t;` line from Common.h
* Mechanically change all uses of `byte` to `uint8_t`.
Tested with GCC 7.3 in C++11/14/17 modes :-) 
						
					 
					
						2018-11-07 12:17:57 +01:00