2015-05-13 19:09:14 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								USING:  compiler.cfg  compiler.cfg.instructions  help.markup  help.syntax  kernel  ;
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-06 10:39:29 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								IN:  compiler.cfg.block-joining 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  join-block? 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-13 19:09:14 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ $values { "bb"  basic-block } { "?"  boolean  } }
							 
						 
					
						
							
								
									
										
										
										
											2015-07-27 05:11:49 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ $description "Whether the block can be joined with its predecessor or not. Two blocks can only be joined if:" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  { $list
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    "Neither of them are kill blocks" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    "They have only one predecessor and it has only one successor" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    "The predecessor has a lower block number" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} ;
 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-16 05:00:21 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-04-08 02:20:55 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								HELP:  join-blocks 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values { "cfg"  cfg } }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "A compiler pass when optimizing the cfg."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-16 05:00:21 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								ARTICLE: "compiler.cfg.block-joining"  "Block Joining" 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-27 05:11:49 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								"Joining blocks that are not calls and are connected by a single CFG edge. This pass does not update "  { $link ##phi } " nodes and should therefore only run before stack analysis or after ##phi node elimination."  ;
 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-16 05:00:21 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								ABOUT: "compiler.cfg.block-joining"