2015-06-14 02:59:03 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								USING:  assocs  compiler.cfg  compiler.cfg.instructions  help.markup  help.syntax 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-16 04:59:13 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								sequences ;
 
							 
						 
					
						
							
								
									
										
										
										
											2014-07-21 12:30:42 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								IN:  compiler.cfg.def-use 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-14 02:59:03 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								HELP:  compute-defs 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values { "cfg"  cfg } }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Computes a mapping from vregs to "  { $link basic-block } " instances in which they are defined. The data is assigned to the "  { $link defs } " dynamic variable."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-11-16 04:59:13 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								HELP:  compute-insns 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values { "cfg"  cfg } }
							 
						 
					
						
							
								
									
										
										
										
											2015-04-20 16:30:02 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ $description "Computes a mapping from vregs to the instructions that define them and store the result in the "  { $link insns } " variable. The "  { $link insn-of } " word can then be used to access the assoc."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-16 04:59:13 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-07-21 12:30:42 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								HELP:  defs-vregs 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values { "insn"  insn } { "seq"  sequence  } }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns the sequence of vregs defined, or introduced, by this instruction."  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $examples
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  { $example
							 
						 
					
						
							
								
									
										
										
										
											2014-08-14 12:59:27 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    "USING: compiler.cfg.def-use compiler.cfg.instructions compiler.cfg.registers prettyprint ;" 
							 
						 
					
						
							
								
									
										
										
										
											2014-07-21 12:30:42 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    "T{ ##peek f 37 D 0 0 } defs-vregs ." 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    "{ 37 }" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-14 02:59:03 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								HELP:  insns 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description { $link assoc  } " mapping vreg integers to defining instructions."  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $see-also compute-insns insn-of } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-11-16 04:59:13 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								HELP:  insn-of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values { "vreg"  "virtual register"  } { "insn"  insn } }
							 
						 
					
						
							
								
									
										
										
										
											2015-06-14 02:59:03 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ $description "Maps the vreg to the instruction that defined it."  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $see-also compute-insns } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-16 04:59:13 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  temp-vregs 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values { "insn"  insn } { "seq"  sequence  } }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns the sequence of temporary vregs used by this instruction."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-07-21 12:30:42 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								HELP:  uses-vregs 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values { "insn"  insn } { "seq"  sequence  } }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns the sequence of vregs used by this instruction."  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $examples
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  { $example
							 
						 
					
						
							
								
									
										
										
										
											2014-08-14 12:59:27 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    "USING: compiler.cfg.def-use compiler.cfg.instructions compiler.cfg.registers prettyprint ;" 
							 
						 
					
						
							
								
									
										
										
										
											2014-07-21 12:30:42 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    "T{ ##replace f 37 D 1 6 } uses-vregs ." 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    "{ 37 }" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} ;
 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-15 01:56:36 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-10 10:17:19 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								HELP:  special-vreg-insns 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Instructions with unusual operands, also see these passes for special behavior:"  { $list "compiler.cfg.renaming.functor"  "compiler.cfg.representations.preferred"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-11-16 04:59:13 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								ARTICLE: "compiler.cfg.def-use"  "Common code used by several passes for def-use analysis" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								"The "  { $vocab-link "compiler.cfg.def-use"  } " contains tools to correlate SSA instructions with virtual registers defined or used by them." 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$nl
							 
						 
					
						
							
								
									
										
										
										
											2015-06-14 02:59:03 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								"The def-use protocol -- vregs for a given instruction:" 
							 
						 
					
						
							
								
									
										
										
										
											2014-11-16 04:59:13 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ $subsections
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  defs-vregs
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  temp-vregs
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  uses-vregs
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								ABOUT: "compiler.cfg.def-use"