| 
							
							
								 chriseth | c9e2d388b5 | Merge pull request #6848 from ethereum/invertibleRelation Implement references using InvertibleRelation as data structure. | 2019-05-29 13:34:10 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | a3f721bbcc | Merge pull request #6583 from ethereum/reset_yulstringrepo Reset YulStringRepository regularly | 2019-05-28 14:20:53 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 2276b567b1 | Merge pull request #6840 from ethereum/discoverMSize Only remove msize-modifying instructions if msize is not used. | 2019-05-28 13:16:55 +02:00 |  | 
			
				
					| 
							
							
								 Bhargava Shastry | dbae0fa939 | Reset Yul string repository before each compilation. | 2019-05-28 13:12:39 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | d7b5ea6761 | Allow msize optimization only if it is not present. | 2019-05-28 12:54:32 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | afe887adc1 | Split MovableChecker and introduce SideEffectsUpToMSize. | 2019-05-28 12:54:32 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | cee1340113 | Add mini-interpreter to check representation. | 2019-05-28 11:35:07 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 1c16124a09 | Constant optimiser for Yul. | 2019-05-28 11:35:07 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 4407af53b5 | Gas meter for Yul expressions. | 2019-05-28 11:34:47 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 4061ad0a7b | Implement references using InvertibleRelation as data structure. | 2019-05-27 22:55:59 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | e5902c58a4 | Merge pull request #6777 from sifmelcara/loop-cond-rewriter [YulOpt] Implement ForLoopConditionIntoBody | 2019-05-23 12:51:51 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 0f146ce55a | Do not rematerialize recursively. | 2019-05-23 12:03:39 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 1e3878121a | Do not inline recursive functions. | 2019-05-22 18:15:21 +02:00 |  | 
			
				
					| 
							
							
								 mingchuan | a86b00e8d0 | [YulOpt] Implement ForLoopConditionIntoBody | 2019-05-22 21:32:18 +08:00 |  | 
			
				
					| 
							
							
								 chriseth | 1dc15d5864 | Modify parser and optimizer. | 2019-05-20 17:32:56 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 46d9df7574 | Add EVM opcodes as builtins. | 2019-05-20 16:46:31 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 8daa281d3d | Merge pull request #6776 from ethereum/equivalentFunctionHashes Use block hashes in EquivalentFunctionDetector. | 2019-05-20 14:35:39 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 4f3b7b232b | Merge pull request #6774 from ethereum/dialectRefactor Dialect refactor | 2019-05-17 14:00:09 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 4bdb981224 | Make dialect const& and allocate single instances statically. | 2019-05-17 12:54:24 +02:00 |  | 
			
				
					| 
							
							
								 Daniel Kirchner | 05c210772a | Make use of make_vector where possible. | 2019-05-17 10:08:53 +02:00 |  | 
			
				
					| 
							
							
								 Daniel Kirchner | 3c66a56e60 | Use block hashes in EquivalentFunctionDetector. | 2019-05-17 08:39:42 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 570db164c9 | Make Dialect const. | 2019-05-16 21:51:54 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | aa24e12054 | Remove side-effect-free expressions, and not only movable expressions. | 2019-05-16 12:30:05 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | e8a88b13e4 | Introduce side-effect-free as relaxed version of movable. | 2019-05-16 12:30:05 +02:00 |  | 
			
				
					| 
							
							
								 Daniel Kirchner | a10501bb7d | Merge pull request #6725 from AndreyBronin/develop GCC 9.1 build fix. error: redundant move in return statement | 2019-05-15 11:37:20 +02:00 |  | 
			
				
					| 
							
							
								 Andrey Bronin | 4eb37fe631 | fix warning in GCC 9.1: redundant move in return statement | 2019-05-14 17:44:28 +03:00 |  | 
			
				
					| 
							
							
								 chriseth | 439a225cee | Simplify single-run for loops to if statements. | 2019-05-13 18:58:36 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 99e96c2d66 | Refactor termination detection. | 2019-05-13 18:58:36 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | d9831c8b96 | Split structural simplifier. | 2019-05-13 10:26:57 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | bf104f718f | Increase code cost for branching statements. | 2019-04-25 17:08:11 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 6292adbde6 | Merge pull request #6580 from ethereum/doNotGenerateInstructionsAsNmes Prevent instructions to be generated as names. | 2019-04-24 22:07:05 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 0af8d758a5 | Prevent instructions to be generated as names. | 2019-04-24 14:35:21 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | aad4373da4 | Disable redundent assign eliminator for deeply nested loops. | 2019-04-23 09:50:25 +02:00 |  | 
			
				
					| 
							
							
								 Mathias Baumann | 3d061c83d7 | IR: Generate inline asm blocks | 2019-04-18 16:49:19 +02:00 |  | 
			
				
					| 
							
							
								 fnatic | 5b6ed7a97c | Removing scope rules for pre block in 'For Loops' | 2019-04-17 05:58:40 +05:30 |  | 
			
				
					| 
							
							
								 chriseth | fb06451f45 | Add assertion that DeadCodeEliminator needs ForLoopInitRewriter. | 2019-04-15 23:26:56 +02:00 |  | 
			
				
					| 
							
							
								 mingchuan | d49733dfc3 | Fix variable decl scope issue in DeadCodeEliminator FoorLoopInitRewriter needs to be run before DeadCodeEliminator. | 2019-04-10 19:00:29 +08:00 |  | 
			
				
					| 
							
							
								 chriseth | d20b3c9f9f | Function grouper is a requirement for the VarNameCleaner. | 2019-04-05 13:41:38 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 887112b1b0 | Fix SSA for multi-assignments. | 2019-04-04 12:06:04 +02:00 |  | 
			
				
					| 
							
							
								 Mathias Baumann | e20acf5d0a | Yul Optimizer: Remove dead code | 2019-04-01 17:16:04 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 529aca5cbd | Merge pull request #6407 from ethereum/changeNamespace Remove "using namespace" from header and move Instruction to dev::eth. | 2019-03-28 14:32:07 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 2308904f68 | Remove "using namespace" from header and move Instruction to dev::eth. | 2019-03-28 13:48:11 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 91f96c299e | More logic about control flow with continue and about finalize. Remove BlockScope. | 2019-03-27 22:16:31 +01:00 |  | 
			
				
					| 
							
							
								 Christian Parpart | a1ec49409d | Yul] RedundantAssignEliminator: Implements break/continue handling within ForLoop. | 2019-03-26 17:36:43 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 8514c0bc60 | Provide max iterations for stack compressor as parameter. | 2019-03-20 15:07:05 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | aa9a2935ac | Properly determine whether a variable can be eliminated or not. | 2019-03-20 15:07:05 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 38cbf8d230 | Pass "optimize stack allocation" flag down to the stack compressor. | 2019-03-20 15:03:27 +01:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | 5245a66d91 | Merge pull request #6318 from ethereum/signal-failure-and-such Allow simplification patterns to signal failure | 2019-03-20 03:38:51 +00:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | f95388011b | Allow simplification patterns to signal failure | 2019-03-19 15:51:52 +01:00 |  | 
			
				
					| 
							
							
								 Christian Parpart | 89f1dbfbb6 | [Yul] Refactors RedundantAssignEliminator for future changes wrt. break/continue statements. | 2019-03-19 12:24:45 +01:00 |  |