mirror of
				https://github.com/python/cpython.git
				synced 2025-10-26 03:04:41 +00:00 
			
		
		
		
	bpo-29469: Remove unnecessary peephole optimizer (GH-4863)
Conversions like `not a is b -> a is not b` are implemented
in AST optimizer in previous commit (7ea143a).
So this commit removes them from peephole optimizer.
			
			
This commit is contained in:
		
							parent
							
								
									374c6e178a
								
							
						
					
					
						commit
						eadad1b97f
					
				
					 1 changed files with 0 additions and 15 deletions
				
			
		|  | @ -345,21 +345,6 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, | ||||||
|         in_consts = 0; |         in_consts = 0; | ||||||
| 
 | 
 | ||||||
|         switch (opcode) { |         switch (opcode) { | ||||||
|                 /* not a is b -->  a is not b
 |  | ||||||
|                    not a in b -->  a not in b |  | ||||||
|                    not a is not b -->  a is b |  | ||||||
|                    not a not in b -->  a in b |  | ||||||
|                 */ |  | ||||||
|             case COMPARE_OP: |  | ||||||
|                 j = get_arg(codestr, i); |  | ||||||
|                 if (j < 6 || j > 9 || |  | ||||||
|                     nextop != UNARY_NOT || |  | ||||||
|                     !ISBASICBLOCK(blocks, op_start, i + 1)) |  | ||||||
|                     break; |  | ||||||
|                 codestr[i] = PACKOPARG(opcode, j^1); |  | ||||||
|                 fill_nops(codestr, i + 1, nexti + 1); |  | ||||||
|                 break; |  | ||||||
| 
 |  | ||||||
|                 /* Skip over LOAD_CONST trueconst
 |                 /* Skip over LOAD_CONST trueconst
 | ||||||
|                    POP_JUMP_IF_FALSE xx.  This improves |                    POP_JUMP_IF_FALSE xx.  This improves | ||||||
|                    "while 1" performance.  */ |                    "while 1" performance.  */ | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 INADA Naoki
						INADA Naoki