compiler.cfg.parallel-copy: make sure new vregs used to break cycles in parallel-copy-rep update the leader-map (issue #22)
							parent
							
								
									ff1c2c293b
								
							
						
					
					
						commit
						b08c077023
					
				| 
						 | 
					@ -1,8 +1,9 @@
 | 
				
			||||||
! Copyright (C) 2009 Slava Pestov.
 | 
					! Copyright (C) 2009 Slava Pestov.
 | 
				
			||||||
! See http://factorcode.org/license.txt for BSD license.
 | 
					! See http://factorcode.org/license.txt for BSD license.
 | 
				
			||||||
USING: assocs cpu.architecture compiler.cfg.registers
 | 
					USING: assocs cpu.architecture compiler.cfg.registers
 | 
				
			||||||
compiler.cfg.instructions deques dlists fry kernel locals namespaces
 | 
					compiler.cfg.instructions compiler.cfg.ssa.destruction deques
 | 
				
			||||||
sequences hashtables ;
 | 
					dlists fry kernel locals namespaces sequences hashtables ;
 | 
				
			||||||
 | 
					FROM: sets => conjoin ;
 | 
				
			||||||
IN: compiler.cfg.parallel-copy
 | 
					IN: compiler.cfg.parallel-copy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
! Revisiting Out-of-SSA Translation for Correctness, Code Quality, and Efficiency
 | 
					! Revisiting Out-of-SSA Translation for Correctness, Code Quality, and Efficiency
 | 
				
			||||||
| 
						 | 
					@ -67,7 +68,8 @@ PRIVATE>
 | 
				
			||||||
SYMBOL: temp-vregs
 | 
					SYMBOL: temp-vregs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: temp-vreg ( rep -- vreg )
 | 
					: temp-vreg ( rep -- vreg )
 | 
				
			||||||
    temp-vregs get [ next-vreg-rep ] cache ;
 | 
					    temp-vregs get [ next-vreg-rep ] cache
 | 
				
			||||||
 | 
					    [ leader-map get conjoin ] keep ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PRIVATE>
 | 
					PRIVATE>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue