25 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Factor
		
	
	
| USING: assocs arrays compiler.cfg compiler.cfg.instructions
 | |
| compiler.cfg.parallel-copy.private compiler.cfg.registers
 | |
| help.markup help.syntax kernel math quotations sequences ;
 | |
| IN: compiler.cfg.parallel-copy
 | |
| 
 | |
| HELP: process-to-do
 | |
| { $values { "b" object } { "temp" quotation } { "quot" quotation } }
 | |
| { $description "Note that we check if b = loc(b), not b = loc(pred(b)) as the paper suggests. Confirmed by one of the authors at http://www.reddit.com/comments/93253/some_lecture_notes_on_ssa_form/c0bco4f" } ;
 | |
| 
 | |
| HELP: parallel-copy
 | |
| { $values { "mapping" { $link assoc } " of { dst src } virtual register pairs" } { "insns" array } }
 | |
| { $description "Creates " { $link ##copy } " instructions." } ;
 | |
| 
 | |
| HELP: parallel-copy-rep
 | |
| { $values { "mapping" { $link assoc } " of { dst src } virtual register pairs" } { "insns" array } }
 | |
| { $description "Creates " { $link ##copy } " instructions. Representation selection must have been run previously." } ;
 | |
| 
 | |
| ARTICLE: "compiler.cfg.parallel-copy" "Parallel copy"
 | |
| "Revisiting Out-of-SSA Translation for Correctness, Code Quality, and Efficiency http://hal.archives-ouvertes.fr/docs/00/34/99/25/PDF/OutSSA-RR.pdf, Algorithm 1"
 | |
| $nl
 | |
| "Generating " { $link ##copy } " instructions:"
 | |
| { $subsections parallel-copy parallel-copy-rep } ;
 | |
| 
 | |
| ABOUT: "compiler.cfg.parallel-copy"
 |