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/mltree/mltree-utils.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/mltree/mltree-utils.sml

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

revision 601, Thu Apr 6 04:38:14 2000 UTC revision 624, Fri Apr 21 03:06:21 2000 UTC
# Line 65  Line 65 
65      | T.IF(ctrl,a,b,c) =>      | T.IF(ctrl,a,b,c) =>
66           0w233 + hashCtrls ctrl + hashCCexp a + hashStm b + hashStm c           0w233 + hashCtrls ctrl + hashCCexp a + hashStm b + hashStm c
67      | T.ANNOTATION(stm, a) => hashStm stm      | T.ANNOTATION(stm, a) => hashStm stm
68      | T.PHI block => w block      | T.PHI{preds, block} => w block + ws preds
69      | T.PINNED stm => 0w12312 + hashStm stm      | T.SOURCE{block, liveIn} => 0w123 + w block + ws liveIn
70        | T.SINK{block, liveOut} => 0w423 + w block + ws liveOut
71      | T.REGION(stm,ctrl) => hashStm stm + hashCtrl ctrl      | T.REGION(stm,ctrl) => hashStm stm + hashCtrl ctrl
72      | T.RTL{hash,...} => !hash      | T.RTL{hash,...} => !hash
73      | T.SEQ ss => hashStms(ss, 0w23)      | T.SEQ ss => hashStms(ss, 0w23)
# Line 205  Line 206 
206      | eqStm(T.ANNOTATION(s1, _),s2) = eqStm(s1,s2)      | eqStm(T.ANNOTATION(s1, _),s2) = eqStm(s1,s2)
207      | eqStm(s1,T.ANNOTATION(s2, _)) = eqStm(s1,s2)      | eqStm(s1,T.ANNOTATION(s2, _)) = eqStm(s1,s2)
208      | eqStm(T.PHI x,T.PHI y) = x=y      | eqStm(T.PHI x,T.PHI y) = x=y
209        | eqStm(T.SOURCE x,T.SOURCE y) = x=y
210        | eqStm(T.SINK x,T.SINK y) = x=y
211      | eqStm(T.BCC(a,b,c),T.BCC(a',b',c')) =      | eqStm(T.BCC(a,b,c),T.BCC(a',b',c')) =
212          a=a' andalso eqCCexp(b,b') andalso eqLabel(c,c')          a=a' andalso eqCCexp(b,b') andalso eqLabel(c,c')
213      | eqStm(T.IF(a,b,c,d),T.IF(a',b',c',d')) =      | eqStm(T.IF(a,b,c,d),T.IF(a',b',c',d')) =
214          a=a' andalso eqCCexp(b,b') andalso eqStm(c,c') andalso eqStm(d,d')          a=a' andalso eqCCexp(b,b') andalso eqStm(c,c') andalso eqStm(d,d')
     | eqStm(T.PINNED x,T.PINNED y) = eqStm(x,y)  
215      | eqStm(T.RTL{hash=x,...},T.RTL{hash=y,...}) = x=y      | eqStm(T.RTL{hash=x,...},T.RTL{hash=y,...}) = x=y
216      | eqStm(T.REGION(a,b),T.REGION(a',b')) = b = b' andalso eqStm(a,a')      | eqStm(T.REGION(a,b),T.REGION(a',b')) = b = b' andalso eqStm(a,a')
217      | eqStm(T.EXT a,T.EXT a') = eqSext (equality()) (a,a')      | eqStm(T.EXT a,T.EXT a') = eqSext (equality()) (a,a')
# Line 409  Line 411 
411          | stm(T.SEQ s) = stms(";",s)          | stm(T.SEQ s) = stms(";",s)
412          | stm(T.REGION(s,cr)) = stm s^usectrl cr          | stm(T.REGION(s,cr)) = stm s^usectrl cr
413          | stm(T.ANNOTATION(s, a)) = stm s          | stm(T.ANNOTATION(s, a)) = stm s
414          | stm(T.PHI b) = "phi["^Int.toString b^"]"          | stm(T.PHI{preds, block}) = "phi["^Int.toString block^"]"
415          | stm(T.PINNED s) = "pinned "^stm s          | stm(T.SOURCE{block,...}) = "source["^Int.toString block^"]"
416            | stm(T.SINK{block,...}) = "sink["^Int.toString block^"]"
417          | stm(T.RTL{e,...}) = stm e          | stm(T.RTL{e,...}) = stm e
418          | stm(T.EXT x) = showSext (shower()) x          | stm(T.EXT x) = showSext (shower()) x
419          | stm _ = error "stm"          | stm _ = error "stm"

Legend:
Removed from v.601  
changed lines
  Added in v.624

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