| 
							
							
								 chriseth | bf27e86984 | Extend pop(0)-remover to any movable expression. | 2018-05-02 17:39:42 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | c7245ba362 | Replace pop(0)-statements by empty blocks. | 2018-05-02 17:39:42 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 4370bf5c40 | Inline functions returning nothing. | 2018-05-02 17:39:42 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 0a366fd453 | Full inliner. | 2018-05-02 17:39:42 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 79c415b104 | Use hoisting. | 2018-05-02 17:36:10 +02:00 |  | 
			
				
					| 
							
							
								 Alexander Arlt | f94b793472 | Add virtual destructors on base classes. | 2018-05-02 13:29:16 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | a38418f0d9 | Common subexpression eliminator. | 2018-04-06 15:16:29 +02:00 |  | 
			
				
					| 
							
							
								 Leonardo Alt | fa0ab6bb21 | Fix compilation problem from issue 3530 | 2018-02-16 16:04:30 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | d7e5cc3f97 | Pretty-print constants in simplifier. | 2018-02-09 19:00:40 +01:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | 96fe589f3c | Use removeEmptyBlocks helper in FunctionHoister | 2018-02-08 22:44:21 +00:00 |  | 
			
				
					| 
							
							
								 chriseth | 9b61fb2e99 | Merge pull request #3456 from ethereum/simplifier Use simplification rules also for IULIA | 2018-02-08 16:50:17 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | c961a3079d | Turn simplification rule tuple into struct. | 2018-02-06 22:51:30 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 5523296eaa | Also apply simplification rules that require multiple identical sub-expressions. | 2018-02-06 22:51:30 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 9eea3f29ba | Expression simplifier. | 2018-02-06 22:51:30 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 591813638e | Explanation of expression simplifier. | 2018-02-06 22:51:30 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | b8074cdf78 | Add flag to indicate whether it can be applied to expressions with side-effects. | 2018-02-06 22:51:30 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 3960f4184d | Rename expression inliner. | 2018-02-06 14:50:39 +00:00 |  | 
			
				
					| 
							
							
								 chriseth | e7ef227226 | Function inliner. | 2018-02-06 14:50:33 +00:00 |  | 
			
				
					| 
							
							
								 chriseth | 33abdfab76 | Inlinable function filter. | 2018-02-06 14:48:47 +00:00 |  | 
			
				
					| 
							
							
								 chriseth | c0abddc9dc | Test for self-referring assignment. | 2018-02-06 12:58:51 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 88a5d152d0 | Introduce struct for scopes. | 2018-02-06 12:38:32 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 2b6a7665ee | Refactor data flow analysis out of remat. | 2018-02-06 12:38:32 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | e100af592b | Fix for rematerializer. | 2018-02-06 12:31:43 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 22c4d282aa | Only substitute if all referenced variables are in scope. | 2018-02-06 12:31:43 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 016fb18ef8 | Rematerialisation. | 2018-02-06 12:31:42 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | d400c44007 | Description of variable eliminator. | 2018-02-06 12:30:03 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 0b8060648e | Add comments to UnusedPruner | 2018-02-06 10:15:41 +00:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | 2cbbe58281 | Support variable declarations without assignment in UnusedPruner | 2018-02-06 10:07:00 +00:00 |  | 
			
				
					| 
							
							
								 chriseth | b0407cfac0 | Unused variable and function remover. | 2018-02-05 16:43:39 +00:00 |  | 
			
				
					| 
							
							
								 chriseth | 9c85589122 | Utility to remove empty blocks. | 2018-02-05 16:43:39 +00:00 |  | 
			
				
					| 
							
							
								 chriseth | 3c8b777b9b | References counter. | 2018-02-05 16:43:39 +00:00 |  | 
			
				
					| 
							
							
								 chriseth | eb42720145 | Code size metric. | 2018-02-02 15:28:41 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 95cf9266ab | Movability. | 2018-01-12 17:48:51 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 937b95cbe5 | Use explicit visit function for the walker. | 2018-01-12 17:21:52 +01:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | 2cdd789b5d | Merge pull request #3297 from ethereum/separate_expression_and_statement Separate expression and statement | 2018-01-04 12:04:19 +00:00 |  | 
			
				
					| 
							
							
								 chriseth | dbad74ac1b | Merge pull request #3279 from ethereum/function_hoister Function hoister | 2017-12-18 15:08:13 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 7755e64872 | Fixed typos in comment. | 2017-12-18 14:56:56 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 99c8ed075e | Function hoister. | 2017-12-14 17:28:29 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | a6a64eb8ed | Function grouper. | 2017-12-14 17:21:01 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 54b6739962 | Separate expression and statement. | 2017-12-13 12:28:15 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 2add4f604b | Description of the optimiser and stages. | 2017-12-11 16:12:08 +01:00 |  | 
			
				
					| 
							
							
								 Yoichi Hirai | c2109436de | Merge pull request #3287 from ethereum/substitution Substitution | 2017-12-06 11:12:06 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 07825e90fa | substitution | 2017-12-05 20:12:46 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | d34054ef58 | copier | 2017-12-05 20:12:46 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 6769a9a503 | Make the modifier more flexible. | 2017-12-05 20:12:46 +01:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | 745eefa36f | Split Instruction and FunctionalInstruction in Julia | 2017-12-05 14:52:11 +00:00 |  | 
			
				
					| 
							
							
								 chriseth | c6df1cdaaa | Generic AST walker. | 2017-12-05 14:42:52 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 30d7afc2e3 | Simplify disambiguator. | 2017-12-05 12:09:55 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 861210f543 | Disambiguator. | 2017-12-05 12:09:52 +01:00 |  |