| 
							
							
								 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 |  | 
			
				
					| 
							
							
								 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 |  |