| 
							
							
								 Harikrishnan Mulackal | 2b9f040c48 | Optimize exp when base is -1 | 2020-09-29 17:44:09 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 684fff34a9 | Replace exp by shl. | 2020-09-17 16:06:52 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 233604f94b | Remove ineffective rules. | 2020-09-14 17:35:04 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 8e39110a30 | Remove flag. | 2020-09-14 17:35:04 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | a3a9630d8b | Optimize byte-after-shr for shift amounts that are not multiples of 8. | 2020-08-04 12:16:23 +02:00 |  | 
			
				
					| 
							
							
								 Bhargava Shastry | 5100effeec | yul: Set non movable flag to true in simplification rule for byte of right-shifted expression | 2020-08-03 17:30:52 +02:00 |  | 
			
				
					| 
							
							
								 Sachin Grover | b7adb2aa42 | Add SPDX license identifier if not present already in source file Fixes: #9220 | 2020-07-17 20:24:12 +05:30 |  | 
			
				
					| 
							
							
								 chriseth | 59f4989966 | Optimize combination of byte and shl. | 2020-07-08 20:26:46 +02:00 |  | 
			
				
					| 
							
							
								 Alexander Arlt | a7b89065ca | [yul] Add support for EVM version-dependent rules. | 2020-05-27 11:57:08 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | d136e7dc95 | Rules for optimizing idempotency for bitwise operations. | 2020-04-23 14:21:00 +02: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 |  | 
			
				
					| 
							
							
								 chriseth | e70ef0b820 | Simplify patterns. | 2019-11-15 00:34:01 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 4b6647f6e1 | Generalize word. | 2019-11-07 14:33:34 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | fa02667075 | Generalize instructions. | 2019-11-07 14:33:34 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | c224b09bb3 | Fix reordering bug in optimizer. | 2019-09-17 12:33:00 +02:00 |  | 
			
				
					| 
							
							
								 Bhargava Shastry | 09fa31ccc5 | yul: Add new optimizer rules for create and create2 builtins | 2019-09-09 17:06:56 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | e86b5cf14e | Replace byte(A, X) by zero if A >= 32 | 2019-08-29 15:35:34 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | 633510eb04 | Merge pull request #6935 from ethereum/subMaxValueXNotXRule Add optimization rule SUB(~0, X) -> NOT(X). | 2019-06-17 14:42:49 +02:00 |  | 
			
				
					| 
							
							
								 Bhargava Shastry | e96003e709 | optimizer: Remove redundant rule from the optimizer rule list | 2019-06-17 13:41:48 +02:00 |  | 
			
				
					| 
							
							
								 Daniel Kirchner | 7f322c9433 | Add optimization rule SUB(~0, X) -> NOT(X). | 2019-06-14 14:07:46 +02:00 |  | 
			
				
					| 
							
							
								 chriseth | f6437a2016 | Optimizer rules that combine shifts and masks. | 2019-05-15 20:30:53 +02:00 |  | 
			
				
					| 
							
							
								 Daniel Kirchner | a5427bc63a | Add optimizer rules for multiplication and division by left-shifted one. | 2019-05-14 16:20:45 +02:00 |  | 
			
				
					| 
							
							
								 Mathias Baumann | 5c66ccc179 | Optimize obsolete ANDs in combination with certain SHIFTs | 2019-03-29 10:08:05 +01:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | 84fbf605aa | Replace shifts by larger than 255 with 0 | 2019-03-29 10:07:54 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 2308904f68 | Remove "using namespace" from header and move Instruction to dev::eth. | 2019-03-28 13:48:11 +01:00 |  | 
			
				
					| 
							
							
								 Bhargava Shastry | f7b5a27581 | Fixes bug in byte optimization rule and adds tests. | 2019-03-21 14:29:06 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 4c1a9aa273 | Merge pull request #6256 from ethereum/completeLtGtRules Complete the GT/LT rules. | 2019-03-13 12:08:34 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 571f400a3e | Complete the GT/LT rules. | 2019-03-13 12:01:23 +01:00 |  | 
			
				
					| 
							
							
								 Bhargava Shastry | 515fa872c8 | Fixes u256 overflow in logical shift optimization rule and adds tests. | 2019-03-13 11:19:20 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 34082a2368 | Merge pull request #6159 from ethereum/more-optims More optimiser rules for LT/GT/AND/BYTE and address cleanups | 2019-03-04 16:24:38 +01:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | 1272951bbb | Do not mask with 160-bits after CREATE/CREATE2 | 2019-03-04 14:42:29 +01:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | 7aa2ee1775 | More optimiser rules for LT/GT/AND/BYTE | 2019-03-04 14:42:29 +01:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | a7c2dba681 | Document the boost multiprecision shift bug in RuleList | 2019-03-04 13:37:20 +01:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | 4430fe6a54 | Combine multiple shifts with constant shift-by values in the optimiser | 2019-02-25 20:56:13 +00:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | fd936439a4 | Add more optimisation rules for shifts | 2019-02-20 11:59:15 +00:00 |  | 
			
				
					| 
							
							
								 Daniel Kirchner | 870b656eda | Split up rule list generation further to prevent issues in browsers with the emscripten build. | 2019-01-18 17:02:47 +01:00 |  | 
			
				
					| 
							
							
								 Daniel Kirchner | a1d73a7bef | Split simplification rules into two functions. | 2018-09-18 14:28:21 +02:00 |  | 
			
				
					| 
							
							
								 Leo Arias | c4a3c48aea | Fix typo | 2018-08-07 13:35:15 -06:00 |  | 
			
				
					| 
							
							
								 Cryptomental | 140dbfdbd8 | Code, Changelog, ReleaseChecklist: Fix typos. Refs: #4442 | 2018-07-11 00:26:23 +02:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | 38460d8b47 | Remove unnecessary masking of the result of known short instructions | 2018-04-19 23:59:06 +01:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | cb352edd26 | Add constant optimiser for SHR/SHL instructions | 2018-04-09 20:07:44 +01:00 |  | 
			
				
					| 
							
							
								 Alex Beregszaszi | 037b97ef4a | Replace MOD with AND if constant is power of 2 | 2018-02-12 22:47:04 +00:00 |  | 
			
				
					| 
							
							
								 chriseth | c961a3079d | Turn simplification rule tuple into struct. | 2018-02-06 22:51:30 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 295f8c07ad | Explicitly add reversed operands for commutative operations. | 2018-02-06 22:51:30 +01:00 |  | 
			
				
					| 
							
							
								 chriseth | 9eea3f29ba | 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 | 491d6d3e0c | Move out the rule list. | 2018-02-06 22:51:30 +01:00 |  |