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/frequencies/estimate-loop-probs-fn.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/frequencies/estimate-loop-probs-fn.sml

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

revision 1149, Sat Mar 16 19:55:14 2002 UTC revision 1150, Sat Mar 16 20:00:46 2002 UTC
# Line 92  Line 92 
92                              else computeProbs (e2, e1, probLBH)                              else computeProbs (e2, e1, probLBH)
93                          | _ => ()                          | _ => ()
94                        (* end case *))                        (* end case *))
95                (* apply the Loop Exit Heuristic to an exit edges *)                (* apply the Loop Exit Heuristic to an exit edges; note that
96                   * the probability is that the loop will NOT be exited.
97                   *)
98                  fun doExitEdge (e as (src, _, _)) = (case out_edges src                  fun doExitEdge (e as (src, _, _)) = (case out_edges src
99                         of [e1, e2] =>                         of [e1, e2] =>
100                              if sameEdge(e, e1)                              if sameEdge(e, e1)
101                                then if isLoopHeader (#2 e2)                                then if isLoopHeader (#2 e2)
102                                  then ()                                  then ()
103                                  else computeProbs (e1, e2, probLEH)                                (* e1 is exit edge, so e2 is taken branch *)
104                                    else computeProbs (e2, e1, probLEH)
105                                else if isLoopHeader (#2 e1)                                else if isLoopHeader (#2 e1)
106                                  then ()                                  then ()
107                                  else computeProbs (e2, e1, probLEH)                                (* e2 is exit edge, so e1 is taken branch *)
108                                    else computeProbs (e1, e2, probLEH)
109                          | _ => ()                          | _ => ()
110                        (* end case *))                        (* end case *))
111                  in                  in

Legend:
Removed from v.1149  
changed lines
  Added in v.1150

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