Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/MLRISC/ra/ra-core.sig
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/ra/ra-core.sig

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 579, Wed Mar 22 06:33:08 2000 UTC revision 1053, Wed Feb 6 19:11:13 2002 UTC
# Line 8  Line 8 
8  signature RA_CORE =  signature RA_CORE =
9  sig  sig
10    
11     structure G  : RA_GRAPH     structure G  : RA_GRAPH = RAGraph
12     structure BM :     structure BM : RA_BITMATRIX
    sig  
       val member : G.bitMatrix -> int * int -> bool  
       val add    : G.bitMatrix -> int * int -> bool  
    end  
13     structure MV : RA_PRIORITY_QUEUE where type elem = G.move     structure MV : RA_PRIORITY_QUEUE where type elem = G.move
14     structure FZ : RA_PRIORITY_QUEUE where type elem = G.node     structure FZ : RA_PRIORITY_QUEUE where type elem = G.node
15    
# Line 38  Line 34 
34     (* add an edge to the interference graph *)     (* add an edge to the interference graph *)
35     val addEdge : G.interferenceGraph -> G.node * G.node -> unit     val addEdge : G.interferenceGraph -> G.node * G.node -> unit
36    
    (* remove an edge from the interference graph *)  
    val removeEdge : G.interferenceGraph -> G.node * G.node -> unit  
   
37     (*     (*
38      * Function to create new nodes      * Function to create new nodes
39      *)      *)
40     val newNodes : G.interferenceGraph ->     val newNodes : G.interferenceGraph ->
41          {cost:int,pt:G.programPoint,defs:int list,uses:int list} ->          {cost:int,pt:G.programPoint,defs:G.C.cell list,uses:G.C.cell list} ->
42              G.node list (* defs *)              G.node list (* defs *)
43    
44     (*     (*
45      * Update regmap after finishing register allocation or copy propagation      * Update the colors of cell to reflect the current interference graph
46      *)      *)
47     val finishRA : G.interferenceGraph -> unit     val updateCellColors  : G.interferenceGraph -> unit
48     val finishCP : G.interferenceGraph -> unit     val updateCellAliases : G.interferenceGraph -> unit
49    
50       val markDeadCopiesAsSpilled : G.interferenceGraph -> unit
51    
52       (*
53        * Return the spill location id of the interference graph
54        *)
55       val spillLoc : G.interferenceGraph -> int -> int
56       val spillLocToString : G.interferenceGraph -> int -> string
57    
58     (*     (*
59      * Create an initial set of worklists from a new interference graph      * Create an initial set of worklists from a new interference graph
# Line 78  Line 79 
79     val clearNodes : G.interferenceGraph -> unit     val clearNodes : G.interferenceGraph -> unit
80    
81     (*     (*
     * Return a regmap function that reflects the current interference graph.  
     * Spilled registers are given the special value ~1  
     *)  
    val regmap      : G.interferenceGraph -> (int -> int)  
    val spillRegmap : G.interferenceGraph -> (int -> int)  
    val spillLoc    : G.interferenceGraph -> (int -> int)  
   
    (*  
82      * Simplify, Coalease and Freeze until the work list is done      * Simplify, Coalease and Freeze until the work list is done
83      *)      *)
84     val iteratedCoalescing :     val iteratedCoalescing :
# Line 133  Line 126 
126      *)      *)
127     val moveSavings : G.interferenceGraph -> (int -> int)     val moveSavings : G.interferenceGraph -> (int -> int)
128    
    (*  
     * Spill propagation/coalescing phase  
     *)  
    (*  
    val spillPropagation : G.interferenceGraph -> G.node list -> G.node list  
   
    (*  
     * Spill coalescing phase  
     *)  
    val spillCoalescing : G.interferenceGraph -> G.node list -> unit  
   
    (*  
     * Spill coloring phase  
     *)  
    val spillColoring : G.interferenceGraph -> G.node list -> unit  
    *)  
   
129  end  end

Legend:
Removed from v.579  
changed lines
  Added in v.1053

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0