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/ppc/ra/ppcRewrite.sml
 [smlnj] / sml / trunk / src / MLRISC / ppc / ra / ppcRewrite.sml

# Diff of /sml/trunk/src/MLRISC/ppc/ra/ppcRewrite.sml

revision 889, Thu Jul 19 20:35:20 2001 UTC revision 901, Tue Aug 14 19:21:17 2001 UTC
# Line 2  Line 2
2    structure I = Instr    structure I = Instr
3    structure C = I.C    structure C = I.C
4    structure CB = CellsBasis    structure CB = CellsBasis
5      structure CS = CB.CellSet
6
7    fun ea(NONE, _, _) = NONE    fun ea(NONE, _, _) = NONE
8      | ea(e as SOME(I.Direct r), rs, rt) =      | ea(e as SOME(I.Direct r), rs, rt) =
# Line 43  Line 44
44       | I.TW {to, ra, si} => I.TW{to=to, ra=rplac ra, si=rwOperand si}       | I.TW {to, ra, si} => I.TW{to=to, ra=rplac ra, si=rwOperand si}
45       | I.TD {to, ra, si} => I.TD{to=to, ra=rplac ra, si=rwOperand si}       | I.TD {to, ra, si} => I.TD{to=to, ra=rplac ra, si=rwOperand si}
46       | I.CALL {def, use, cutsTo, mem} =>       | I.CALL {def, use, cutsTo, mem} =>
47            I.CALL{def=def, use=C.CellSet.map {from=rs,to=rt} use,            I.CALL{def=def, use=CS.map {from=rs,to=rt} use,
48                   cutsTo=cutsTo, mem=mem}                   cutsTo=cutsTo, mem=mem}
49       | I.COPY{dst, src, impl, tmp} =>       | I.COPY{dst, src, impl, tmp} =>
50          I.COPY{dst=dst, src=map rplac src, impl=impl, tmp=tmp}          I.COPY{dst=dst, src=map rplac src, impl=impl, tmp=tmp}
# Line 77  Line 78
78          I.ROTATEI {oper=oper, ra=rplac ra, rs=rs, sh=sh, mb=mb, me=me}          I.ROTATEI {oper=oper, ra=rplac ra, rs=rs, sh=sh, mb=mb, me=me}
79       | I.MFSPR {rt, spr} => I.MFSPR{rt=rplac rt, spr=spr}       | I.MFSPR {rt, spr} => I.MFSPR{rt=rplac rt, spr=spr}
80       | I.CALL {def, use, cutsTo, mem} =>       | I.CALL {def, use, cutsTo, mem} =>
81          I.CALL{def=C.CellSet.map {from=rs,to=rt} def, use=use,          I.CALL{def=CS.map {from=rs,to=rt} def, use=use,
82                 cutsTo=cutsTo, mem=mem}                 cutsTo=cutsTo, mem=mem}
83       | I.COPY {dst, src, impl, tmp} =>       | I.COPY {dst, src, impl, tmp} =>
84          I.COPY{dst=map rplac dst, src=src, impl=impl, tmp=ea(tmp,rs,rt)}          I.COPY{dst=map rplac dst, src=src, impl=impl, tmp=ea(tmp,rs,rt)}
# Line 98  Line 99
99      of I.STF {st, fs, ra, d, mem} =>      of I.STF {st, fs, ra, d, mem} =>
100           I.STF{st=st, fs=rplac fs, ra=ra, d=d, mem=mem}           I.STF{st=st, fs=rplac fs, ra=ra, d=d, mem=mem}
101       | I.CALL{def, use, cutsTo, mem} =>       | I.CALL{def, use, cutsTo, mem} =>
102           I.CALL{def=def, use=C.CellSet.map {from=fs,to=ft} use,           I.CALL{def=def, use=CS.map {from=fs,to=ft} use,
103                  cutsTo=cutsTo, mem=mem}                  cutsTo=cutsTo, mem=mem}
104       | I.FCOMPARE {cmp, bf, fa, fb} =>       | I.FCOMPARE {cmp, bf, fa, fb} =>
105           I.FCOMPARE{cmp=cmp, bf=bf, fa=rplac fa, fb=rplac fb}           I.FCOMPARE{cmp=cmp, bf=bf, fa=rplac fa, fb=rplac fb}
# Line 135  Line 136
136          I.FARITH3{oper=oper, ft=rplac ft, fa=fa, fb=fb, fc=fc, Rc=Rc}          I.FARITH3{oper=oper, ft=rplac ft, fa=fa, fb=fb, fc=fc, Rc=Rc}
137      (* CALL = BCLR {bo=ALWAYS, bf=0, bit=0, LK=true, labels=[] *)      (* CALL = BCLR {bo=ALWAYS, bf=0, bit=0, LK=true, labels=[] *)
138       | I.CALL{def, use, cutsTo, mem} =>       | I.CALL{def, use, cutsTo, mem} =>
139          I.CALL{def=C.CellSet.map {from=fs,to=ft} def, use=use,          I.CALL{def=CS.map {from=fs,to=ft} def, use=use,
140                 cutsTo=cutsTo, mem=mem}                 cutsTo=cutsTo, mem=mem}
141       | I.FCOPY {dst, src, impl, tmp} =>       | I.FCOPY {dst, src, impl, tmp} =>
142          I.FCOPY{dst=map rplac dst, src=src, impl=impl, tmp=ea(tmp,fs,ft)}          I.FCOPY{dst=map rplac dst, src=src, impl=impl, tmp=ea(tmp,fs,ft)}

Legend:
 Removed from v.889 changed lines Added in v.901