chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							47aa1c65ae 
							
						 
					 
					
						
						
							
							Re-implement KnowledgeBase using groups of constantly-spaced variables.  
						
						 
						
						
						
					 
					
						2023-02-09 10:47:11 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							79c52b3c9e 
							
						 
					 
					
						
						
							
							Re-use knowledge about keccak calls.  
						
						 
						
						... 
						
						
						
						Re-use knowledge about keccak calls.
Update gas cost.
More tests.
Fix bug.
Update libyul/optimiser/DataFlowAnalyzer.cpp
Remove util prefixes
fix test
More test cases.
Add Changelog entry 
						
					 
					
						2022-12-07 14:16:13 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							62ab78bf70 
							
						 
					 
					
						
						
							
							Refactor join knowledge.  
						
						 
						
						
						
					 
					
						2022-11-14 11:56:32 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							e996fe6247 
							
						 
					 
					
						
						
							
							Yul Optimizer: Simplify start offset of zero-length operations.  
						
						 
						
						
						
					 
					
						2022-08-15 15:42:51 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							c12d151834 
							
						 
					 
					
						
						
							
							Only analyze memory in DataFlowAnalyzer if it is needed in the optimizer step.  
						
						 
						
						
						
					 
					
						2022-07-11 15:51:25 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							afdf22f5c7 
							
						 
					 
					
						
						
							
							Create a state struct.  
						
						 
						
						
						
					 
					
						2022-03-14 19:32:33 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							eab4ca906c 
							
						 
					 
					
						
						
							
							Refactor data flow analyzer state access.  
						
						 
						
						
						
					 
					
						2022-03-14 19:32:33 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tyler 
							
						 
					 
					
						
						
						
						
							
						
						
							519e1c9402 
							
						 
					 
					
						
						
							
							Specify namespaces  
						
						 
						
						... 
						
						
						
						Fix references into solidity::util 
						
					 
					
						2022-03-08 00:09:17 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							dd8f12760b 
							
						 
					 
					
						
						
							
							Introduce forEach for yul ast nodes.  
						
						 
						
						
						
					 
					
						2021-11-04 16:14:43 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								anurag4u80 
							
						 
					 
					
						
						
						
						
							
						
						
							c4cf412fed 
							
						 
					 
					
						
						
							
							Replaced boost remove_erase and remove_erase_if  
						
						 
						
						
						
					 
					
						2021-04-24 08:10:41 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							f34d7120a2 
							
						 
					 
					
						
						
							
							Add and use mapTuple helper.  
						
						 
						
						
						
					 
					
						2021-01-13 17:23:27 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							91cdb606a5 
							
						 
					 
					
						
						
							
							Some style review suggestions.  
						
						 
						
						
						
					 
					
						2021-01-13 12:43:38 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							eb035147d2 
							
						 
					 
					
						
						
							
							Rephrase erasure condition in DataFlowAnalyzer.  
						
						 
						
						
						
					 
					
						2021-01-12 21:40:52 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							970e8064bb 
							
						 
					 
					
						
						
							
							Clear variables, but not backreferences in popScope.  
						
						 
						
						
						
					 
					
						2021-01-12 21:40:52 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							7fe03cbab0 
							
						 
					 
					
						
						
							
							Implement cxx20 polyfill and replace InvertibleMap entirely.  
						
						 
						
						
						
					 
					
						2021-01-12 21:40:40 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							625d402dbb 
							
						 
					 
					
						
						
							
							Various optimizations for the DataFlowAnalyzer.  
						
						 
						
						
						
					 
					
						2021-01-12 21:39:20 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Daniel Kirchner 
							
						 
					 
					
						
						
						
						
							
						
						
							96a50b52e2 
							
						 
					 
					
						
						
							
							Add storage load/store functions to Yul dialect.  
						
						 
						
						
						
					 
					
						2020-12-03 19:10:05 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							21c35924df 
							
						 
					 
					
						
						
							
							Only clear for assignment.  
						
						 
						
						
						
					 
					
						2020-11-26 18:32:13 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							a22077f736 
							
						 
					 
					
						
						
							
							Rename AsmData -> AST  
						
						 
						
						... 
						
						
						
						Also attempt to only include ASTForward where appropriate. 
						
					 
					
						2020-11-25 17:58:02 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							e0b1d8b9bd 
							
						 
					 
					
						
						
							
							Make DataFlowAnalyzer aware of storage / memory slot after sload / mload.  
						
						 
						
						
						
					 
					
						2020-07-01 13:45:25 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							b8488597da 
							
						 
					 
					
						
						
							
							Combine value and loop depth.  
						
						 
						
						
						
					 
					
						2020-01-08 12:25:46 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Leonardo Alt 
							
						 
					 
					
						
						
						
						
							
						
						
							389da5228e 
							
						 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/develop' into merge_develop_060  
						
						 
						
						
						
					 
					
						2019-11-20 12:27:40 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Leonardo Alt 
							
						 
					 
					
						
						
						
						
							
						
						
							be849b3c47 
							
						 
					 
					
						
						
							
							Replace boost::variant by std::variant in libyul  
						
						 
						
						
						
					 
					
						2019-11-19 17:23:18 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							ceb8ee9124 
							
						 
					 
					
						
						
							
							[Yul] leave statement.  
						
						 
						
						
						
					 
					
						2019-10-29 14:32:16 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Christian Parpart 
							
						 
					 
					
						
						
						
						
							
						
						
							df729b3084 
							
						 
					 
					
						
						
							
							Make use of C++17 std::optional<> instead of boost::optional<>.  
						
						 
						
						
						
					 
					
						2019-10-28 11:39:30 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							a8e8eaebcd 
							
						 
					 
					
						
						
							
							Fix load resolver and properly take side-effects of user-defined  
						
						 
						
						... 
						
						
						
						functions into account. 
						
					 
					
						2019-09-04 19:16:54 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							1c5845e3f2 
							
						 
					 
					
						
						
							
							Side-effects of user-defined functions.  
						
						 
						
						
						
					 
					
						2019-09-02 17:41:51 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							e396dc7246 
							
						 
					 
					
						
						
							
							Properly set storage and memory after erasing potentially destroyed keys  
						
						 
						
						
						
					 
					
						2019-08-13 18:43:15 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							2b979cba38 
							
						 
					 
					
						
						
							
							Also optimize memory.  
						
						 
						
						
						
					 
					
						2019-06-20 18:43:37 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							1f9d11c644 
							
						 
					 
					
						
						
							
							Knowledge about storage.  
						
						 
						
						
						
					 
					
						2019-06-20 18:43:37 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c9e2d388b5 
							
						 
					 
					
						
						
							
							Merge pull request  #6848  from ethereum/invertibleRelation  
						
						 
						
						... 
						
						
						
						Implement references using InvertibleRelation as data structure. 
						
					 
					
						2019-05-29 13:34:10 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Bhargava Shastry 
							
						 
					 
					
						
						
						
						
							
						
						
							dbae0fa939 
							
						 
					 
					
						
						
							
							Reset Yul string repository before each compilation.  
						
						 
						
						
						
					 
					
						2019-05-28 13:12:39 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							4061ad0a7b 
							
						 
					 
					
						
						
							
							Implement references using InvertibleRelation as data structure.  
						
						 
						
						
						
					 
					
						2019-05-27 22:55:59 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								fnatic 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5b6ed7a97c 
							
						 
					 
					
						
						
							
							Removing scope rules for pre block in 'For Loops'  
						
						 
						
						
						
					 
					
						2019-04-17 05:58:40 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Christian Parpart 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							57bcb8ba83 
							
						 
					 
					
						
						
							
							[yul] Ensures DataFlowAnalyzer works fine with break/continue statements just like without.  
						
						 
						
						
						
					 
					
						2019-03-14 16:18:45 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							9222eff08f 
							
						 
					 
					
						
						
							
							Make the dialect available everywhere.  
						
						 
						
						
						
					 
					
						2019-01-07 16:41:03 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							b11d413720 
							
						 
					 
					
						
						
							
							Consider return variables to be zero initially.  
						
						 
						
						
						
					 
					
						2018-12-13 16:02:30 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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