mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Changelog and test
This commit is contained in:
		
							parent
							
								
									a9fa9429d5
								
							
						
					
					
						commit
						4a291f8551
					
				| @ -9,7 +9,7 @@ Compiler Features: | ||||
| 
 | ||||
| 
 | ||||
| Bugfixes: | ||||
| 
 | ||||
|  * Optimizer: Fixed a bug in BlockDeDuplicator. | ||||
| 
 | ||||
| 
 | ||||
| ### 0.6.8 (2020-05-14) | ||||
|  | ||||
							
								
								
									
										1
									
								
								test/cmdlineTests/optimizer_BlockDeDuplicator/args
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								test/cmdlineTests/optimizer_BlockDeDuplicator/args
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| --optimize --asm --metadata-hash none | ||||
							
								
								
									
										11
									
								
								test/cmdlineTests/optimizer_BlockDeDuplicator/err
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								test/cmdlineTests/optimizer_BlockDeDuplicator/err
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| Warning: Statement has no effect. | ||||
|  --> optimizer_BlockDeDuplicator/input.sol:7:27: | ||||
|   | | ||||
| 7 |     function f() public { true ? 1 : 3;} | ||||
|   |                           ^^^^^^^^^^^^ | ||||
| 
 | ||||
| Warning: Function state mutability can be restricted to pure | ||||
|  --> optimizer_BlockDeDuplicator/input.sol:7:5: | ||||
|   | | ||||
| 7 |     function f() public { true ? 1 : 3;} | ||||
|   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||||
							
								
								
									
										9
									
								
								test/cmdlineTests/optimizer_BlockDeDuplicator/input.sol
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/cmdlineTests/optimizer_BlockDeDuplicator/input.sol
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| // SPDX-License-Identifier: GPL-3.0 | ||||
| pragma solidity >=0.0; | ||||
| 
 | ||||
| contract C { | ||||
|     function fun_x() public {} | ||||
|     function fun_() public {} | ||||
|     function f() public { true ? 1 : 3;} | ||||
|     function() r = true ? fun_x : f; | ||||
| } | ||||
							
								
								
									
										107
									
								
								test/cmdlineTests/optimizer_BlockDeDuplicator/output
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								test/cmdlineTests/optimizer_BlockDeDuplicator/output
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,107 @@ | ||||
| 
 | ||||
| ======= optimizer_BlockDeDuplicator/input.sol:C ======= | ||||
| EVM assembly: | ||||
|     /* "optimizer_BlockDeDuplicator/input.sol":60:213  contract C {... */ | ||||
|   mstore(0x40, 0x80) | ||||
|     /* "optimizer_BlockDeDuplicator/input.sol":179:210  function() r = true ? fun_x : f */ | ||||
|   0x00 | ||||
|   dup1 | ||||
|   sload | ||||
|   not(sub(shl(0x40, 0x01), 0x01)) | ||||
|   and | ||||
|     /* "optimizer_BlockDeDuplicator/input.sol":201:206  fun_x */ | ||||
|   or(tag_0_7, shl(0x20, tag_4)) | ||||
|   sub(shl(0x40, 0x01), 0x01) | ||||
|     /* "optimizer_BlockDeDuplicator/input.sol":179:210  function() r = true ? fun_x : f */ | ||||
|   and | ||||
|   or | ||||
|   swap1 | ||||
|   sstore | ||||
|     /* "optimizer_BlockDeDuplicator/input.sol":60:213  contract C {... */ | ||||
|   callvalue | ||||
|     /* "--CODEGEN--":2:4   */ | ||||
|   dup1 | ||||
|   iszero | ||||
|   tag_5 | ||||
|   jumpi | ||||
|     /* "--CODEGEN--":27:28   */ | ||||
|   0x00 | ||||
|     /* "--CODEGEN--":24:25   */ | ||||
|   dup1 | ||||
|     /* "--CODEGEN--":17:29   */ | ||||
|   revert | ||||
|     /* "--CODEGEN--":2:4   */ | ||||
| tag_5: | ||||
|     /* "optimizer_BlockDeDuplicator/input.sol":60:213  contract C {... */ | ||||
|   pop | ||||
|   jump(tag_6) | ||||
|     /* "optimizer_BlockDeDuplicator/input.sol":77:103  function fun_x() public {} */ | ||||
| tag_4: | ||||
|   jump	// out | ||||
|     /* "optimizer_BlockDeDuplicator/input.sol":60:213  contract C {... */ | ||||
| tag_6: | ||||
|   dataSize(sub_0) | ||||
|   dup1 | ||||
|   dataOffset(sub_0) | ||||
|   0x00 | ||||
|   codecopy | ||||
|   0x00 | ||||
|   return | ||||
| stop | ||||
| 
 | ||||
| sub_0: assembly { | ||||
|         /* "optimizer_BlockDeDuplicator/input.sol":60:213  contract C {... */ | ||||
|       mstore(0x40, 0x80) | ||||
|       callvalue | ||||
|         /* "--CODEGEN--":5:14   */ | ||||
|       dup1 | ||||
|         /* "--CODEGEN--":2:4   */ | ||||
|       iszero | ||||
|       tag_1 | ||||
|       jumpi | ||||
|         /* "--CODEGEN--":27:28   */ | ||||
|       0x00 | ||||
|         /* "--CODEGEN--":24:25   */ | ||||
|       dup1 | ||||
|         /* "--CODEGEN--":17:29   */ | ||||
|       revert | ||||
|         /* "--CODEGEN--":2:4   */ | ||||
|     tag_1: | ||||
|         /* "optimizer_BlockDeDuplicator/input.sol":60:213  contract C {... */ | ||||
|       pop | ||||
|       jumpi(tag_2, lt(calldatasize, 0x04)) | ||||
|       shr(0xe0, calldataload(0x00)) | ||||
|       dup1 | ||||
|       0x26121ff0 | ||||
|       eq | ||||
|       tag_3 | ||||
|       jumpi | ||||
|       dup1 | ||||
|       0x2e1fb2bc | ||||
|       eq | ||||
|       tag_3 | ||||
|       jumpi | ||||
|       dup1 | ||||
|       0x4753a67d | ||||
|       eq | ||||
|       tag_3 | ||||
|       jumpi | ||||
|     tag_2: | ||||
|         /* "--CODEGEN--":12:13   */ | ||||
|       0x00 | ||||
|         /* "--CODEGEN--":9:10   */ | ||||
|       dup1 | ||||
|         /* "--CODEGEN--":2:14   */ | ||||
|       revert | ||||
|         /* "optimizer_BlockDeDuplicator/input.sol":138:174  function f() public { true ? 1 : 3;} */ | ||||
|     tag_3: | ||||
|       tag_6 | ||||
|       tag_7 | ||||
|       jump	// in | ||||
|     tag_6: | ||||
|       stop | ||||
|     tag_7: | ||||
|       jump	// out | ||||
| 
 | ||||
|     auxdata: AUXDATA REMOVED | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user