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/mem-ra.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/ra/mem-ra.sml

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

revision 733, Fri Nov 17 05:13:45 2000 UTC revision 744, Fri Dec 8 04:11:42 2000 UTC
# Line 136  Line 136 
136    fun spillPropagation(G as GRAPH{bitMatrix, memRegs, ...}) nodesToSpill =    fun spillPropagation(G as GRAPH{bitMatrix, memRegs, ...}) nodesToSpill =
137    let val spillCoalescing = spillCoalescing G    let val spillCoalescing = spillCoalescing G
138        exception SpillProp        exception SpillProp
139        val visited =        val visited = IntHashTable.mkTable(32, SpillProp)
140            IntHashTable.mkTable(32, SpillProp) : bool IntHashTable.hash_table                       : bool IntHashTable.hash_table
141        fun hasBeenVisited i = getOpt (IntHashTable.find visited i, false)        val hasBeenVisited = IntHashTable.find visited
142          val hasBeenVisited = fn r => case hasBeenVisited r of NONE => false
143                                                              | SOME _ => true
144        val markAsVisited = IntHashTable.insert visited        val markAsVisited = IntHashTable.insert visited
145        val member = BM.member(!bitMatrix)        val member = BM.member(!bitMatrix)
146    
# Line 190  Line 192 
192                   else                   else
193                      case (!dstCol, !srcCol) of                      case (!dstCol, !srcCol) of
194                        (SPILLED, PSEUDO) => savings(~1)                        (SPILLED, PSEUDO) => savings(~1)
195                      | (MEMREG m, PSEUDO) => savings(m)                      | (MEMREG(m, _), PSEUDO) => savings(m)
196                      | (SPILL_LOC s, PSEUDO) => savings(~s)                      | (SPILL_LOC s, PSEUDO) => savings(~s)
197                      | (PSEUDO, SPILLED) => savings(~1)                      | (PSEUDO, SPILLED) => savings(~1)
198                      | (PSEUDO, MEMREG m) => savings(m)                      | (PSEUDO, MEMREG(m, _)) => savings(m)
199                      | (PSEUDO, SPILL_LOC s) => savings(~s)                      | (PSEUDO, SPILL_LOC s) => savings(~s)
200                      | _ => (if debug then print "0 (other)\n" else ();                      | _ => (if debug then print "0 (other)\n" else ();
201                              moveSavings(mvs, pinned, total))                              moveSavings(mvs, pinned, total))

Legend:
Removed from v.733  
changed lines
  Added in v.744

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