| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectscale.backend.trips2.HyperblockFormation
public class HyperblockFormation
Backend hyperblock formation.
$Id: HyperblockFormation.java,v 1.57 2007-10-31 16:39:16 bmaher Exp $
 Copyright 2008 by the
 Scale Compiler Group,
 Department of Computer Science
 University of Massachusetts,
 Amherst MA. 01003, USA
 All Rights Reserved.
 
| Field Summary | |
|---|---|
| static boolean | analyzeTrue: print analysis of merging attempts. | 
| static boolean | debugTrue: print debugging information. | 
| static boolean | duplicateReturnTrue: allow the return block to be tail duplicated. | 
| static boolean | enableHyperblockFormationTrue: perform hyperblock formation. | 
| static boolean | includeCallsTrue: allow function calls to be predicated. | 
| static boolean | makeDotFilesTrue: produces dot files, used for producing a graphical HFG. | 
| static boolean | peelLoopsTrue: perform loop peeling during hyperblock formation. | 
| static boolean | tailDuplicateTrue: perform tail duplication during hyperblock formation. | 
| static double | thresholdThreshold for excluding basic blocks from a hyperblock. | 
| static boolean | unrollForLoopsTrue: perform for loop unrolling during hyperblock formation. | 
| static boolean | unrollLoopsTrue: perform loop unrolling during hyperblock formation. | 
| static boolean | useProfileTrue: use profiling information (if available) to decide which regions to place into a hyperblock. | 
| Constructor Summary | |
|---|---|
| HyperblockFormation(Trips2Generator gen,
                    Hyperblock hbStart,
                    boolean beforeRegisterAllocation)The default constructor. | |
| Method Summary | |
|---|---|
|  Hyperblock | createHyperblocks()The main routine. | 
|  Hyperblock | mergeEpilogue(Hyperblock block)Merges the epilogue after stack frame generation. | 
|  Hyperblock | mergePrologueEpilogue(Hyperblock block)Used to merge the prologue and epilogue during stack frame generation. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static boolean enableHyperblockFormation
public static boolean debug
public static boolean analyze
public static boolean makeDotFiles
public static boolean useProfile
public static double threshold
public static boolean peelLoops
public static boolean unrollLoops
public static boolean unrollForLoops
public static boolean tailDuplicate
public static boolean includeCalls
public static boolean duplicateReturn
| Constructor Detail | 
|---|
public HyperblockFormation(Trips2Generator gen,
                           Hyperblock hbStart,
                           boolean beforeRegisterAllocation)
| Method Detail | 
|---|
public Hyperblock createHyperblocks()
public Hyperblock mergePrologueEpilogue(Hyperblock block)
public Hyperblock mergeEpilogue(Hyperblock block)
| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||