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/branches/idlbasis-devel/src/MLRISC/alpha/ra/alphaRewrite.sml
ViewVC logotype

Diff of /sml/branches/idlbasis-devel/src/MLRISC/alpha/ra/alphaRewrite.sml

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

sml/trunk/src/MLRISC/alpha/ra/alphaRewrite.sml revision 744, Fri Dec 8 04:11:42 2000 UTC sml/branches/idlbasis-devel/src/MLRISC/alpha/ra/alphaRewrite.sml revision 859, Wed Jun 27 21:43:12 2001 UTC
# Line 50  Line 50 
50       | I.FSTORE farg => fstore(I.FSTORE, farg)       | I.FSTORE farg => fstore(I.FSTORE, farg)
51       | I.JMPL({r, b, d}, labs) =>       | I.JMPL({r, b, d}, labs) =>
52         if match b then I.JMPL({r=r, b=rt, d=d}, labs) else instr         if match b then I.JMPL({r=r, b=rt, d=d}, labs) else instr
53       | I.JSR{r, b, d, defs, uses, mem} =>       | I.JSR{r, b, d, defs, uses, cutsTo, mem} =>
54           I.JSR{r=r, b=replace b, d=d, defs=defs,           I.JSR{r=r, b=replace b, d=d, defs=defs,
55                 uses=C.CellSet.map {from=rs,to=rt} uses, mem=mem}                 uses=C.CellSet.map {from=rs,to=rt} uses, cutsTo=cutsTo, mem=mem}
56       | I.BSR{r, lab, defs, uses, mem} =>       | I.BSR{r, lab, defs, uses, cutsTo, mem} =>
57           I.BSR{r=r, lab=lab, defs=defs,           I.BSR{r=r, lab=lab, defs=defs,
58                 uses=C.CellSet.map {from=rs,to=rt} uses, mem=mem}                 uses=C.CellSet.map {from=rs,to=rt} uses, cutsTo=cutsTo, mem=mem}
59       | I.RET{r,b,d} => I.RET{r=r, b=replace b, d=d}       | I.RET{r,b,d} => I.RET{r=r, b=replace b, d=d}
60       | I.BRANCH{b=I.BR, ...} => instr       | I.BRANCH{b=I.BR, ...} => instr
61       | I.BRANCH{b, r, lab} => if match r then I.BRANCH{b=b, r=rt, lab=lab}       | I.BRANCH{b, r, lab} => if match r then I.BRANCH{b=b, r=rt, lab=lab}
# Line 104  Line 104 
104          if match fb then I.FUNARY{oper=oper,fb=ft,fc=fc} else instr          if match fb then I.FUNARY{oper=oper,fb=ft,fc=fc} else instr
105       | I.FCMOVE{oper,fa,fb,fc} =>       | I.FCMOVE{oper,fa,fb,fc} =>
106           I.FCMOVE{oper=oper,fa=replace fa,fb=replace fb,fc=replace fc}           I.FCMOVE{oper=oper,fa=replace fa,fb=replace fb,fc=replace fc}
107       | I.JSR{r, b, d, defs, uses, mem} =>       | I.JSR{r, b, d, defs, uses, cutsTo, mem} =>
108           I.JSR{r=r, b=b, d=d, defs=defs,           I.JSR{r=r, b=b, d=d, defs=defs,
109                 uses=C.CellSet.map {from=fs,to=ft} uses, mem=mem}                 uses=C.CellSet.map {from=fs,to=ft} uses, cutsTo=cutsTo, mem=mem}
110       | I.BSR{r, lab, defs, uses, mem} =>       | I.BSR{r, lab, defs, uses, cutsTo, mem} =>
111           I.BSR{r=r, lab=lab, defs=defs,           I.BSR{r=r, lab=lab, defs=defs,
112                 uses=C.CellSet.map {from=fs,to=ft} uses, mem=mem}                 uses=C.CellSet.map {from=fs,to=ft} uses, cutsTo=cutsTo, mem=mem}
113       | I.ANNOTATION{i,a} =>       | I.ANNOTATION{i,a} =>
114           I.ANNOTATION{i=frewriteUse(i,fs,ft),           I.ANNOTATION{i=frewriteUse(i,fs,ft),
115                        a=case a of                        a=case a of
# Line 134  Line 134 
134         if match r then I.LOAD{ldOp=ldOp, r=rt, b=b, d=d, mem=mem} else instr         if match r then I.LOAD{ldOp=ldOp, r=rt, b=b, d=d, mem=mem} else instr
135       | I.JMPL({r, b, d}, labs) =>       | I.JMPL({r, b, d}, labs) =>
136         if match r then I.JMPL({r=rt, b=b, d=d}, labs) else instr         if match r then I.JMPL({r=rt, b=b, d=d}, labs) else instr
137       | I.JSR{r, b, d, defs, uses, mem} =>       | I.JSR{r, b, d, defs, uses, cutsTo, mem} =>
138           I.JSR{r=rewrite r, b=b, d=d, defs=C.CellSet.map {from=rs,to=rt} defs,           I.JSR{r=rewrite r, b=b, d=d, defs=C.CellSet.map {from=rs,to=rt} defs,
139                 uses=uses, mem=mem}                 uses=uses, cutsTo=cutsTo, mem=mem}
140       | I.BSR{r, lab, defs, uses, mem} =>       | I.BSR{r, lab, defs, uses, cutsTo, mem} =>
141           I.BSR{r=rewrite r, lab=lab, defs=C.CellSet.map {from=rs,to=rt} defs,           I.BSR{r=rewrite r, lab=lab, defs=C.CellSet.map {from=rs,to=rt} defs,
142                 uses=uses, mem=mem}                 uses=uses, cutsTo=cutsTo, mem=mem}
143       | I.RET{r, b, d} => I.RET{r=rewrite r, b=b, d=d}       | I.RET{r, b, d} => I.RET{r=rewrite r, b=b, d=d}
144       | I.BRANCH{b=I.BR, r, lab} =>       | I.BRANCH{b=I.BR, r, lab} =>
145         if match r then I.BRANCH{b=I.BR, r=rt, lab=lab} else instr         if match r then I.BRANCH{b=I.BR, r=rt, lab=lab} else instr
# Line 184  Line 184 
184       | I.FCOPY{dst, src, tmp, impl} =>       | I.FCOPY{dst, src, tmp, impl} =>
185          I.FCOPY{dst=map rewrite dst, src=src, tmp=ea tmp, impl=impl}          I.FCOPY{dst=map rewrite dst, src=src, tmp=ea tmp, impl=impl}
186       | I.FCMOVE{oper,fa,fb,fc} => I.FCMOVE{oper=oper,fa=fa,fb=fb,fc=rewrite fc}       | I.FCMOVE{oper,fa,fb,fc} => I.FCMOVE{oper=oper,fa=fa,fb=fb,fc=rewrite fc}
187       | I.JSR{r, b, d, defs, uses, mem} =>       | I.JSR{r, b, d, defs, uses, cutsTo, mem} =>
188          I.JSR{r=r, b=b, d=d, defs=C.CellSet.map {from=fs,to=ft} defs,          I.JSR{r=r, b=b, d=d, defs=C.CellSet.map {from=fs,to=ft} defs,
189                uses=uses, mem=mem}                uses=uses, cutsTo=cutsTo, mem=mem}
190       | I.BSR{r, lab, defs, uses, mem} =>       | I.BSR{r, lab, defs, uses, cutsTo, mem} =>
191          I.BSR{r=r, lab=lab, defs=C.CellSet.map {from=fs,to=ft} defs,          I.BSR{r=r, lab=lab, defs=C.CellSet.map {from=fs,to=ft} defs,
192                uses=uses, mem=mem}                uses=uses, cutsTo=cutsTo, mem=mem}
193       | I.PSEUDOARITH{oper, ra, rb, rc, tmps} =>       | I.PSEUDOARITH{oper, ra, rb, rc, tmps} =>
194           I.PSEUDOARITH{oper=oper, ra=ra, rb=rb, rc=rc,           I.PSEUDOARITH{oper=oper, ra=ra, rb=rb, rc=rc,
195                         tmps=C.CellSet.map {from=fs,to=ft} tmps}                         tmps=C.CellSet.map {from=fs,to=ft} tmps}

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

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