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/SMLNJ/src/MLRISC/alpha32/alpha32Rewrite.sml
ViewVC logotype

Diff of /sml/branches/SMLNJ/src/MLRISC/alpha32/alpha32Rewrite.sml

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

revision 105, Thu May 28 21:30:17 1998 UTC revision 106, Thu May 28 21:30:17 1998 UTC
# Line 45  Line 45 
45       | I.FSTORE farg => fstore(I.FSTORE, farg)       | I.FSTORE farg => fstore(I.FSTORE, farg)
46       | I.JMPL({r, b, d}, labs) =>       | I.JMPL({r, b, d}, labs) =>
47         if mapr b=rs then I.JMPL({r=r, b=rt, d=d}, labs) else instr         if mapr b=rs then I.JMPL({r=r, b=rt, d=d}, labs) else instr
48       | I.JSR({r,b,d}, defs, uses) =>       | I.JSR({r,b,d}, defs, (i,f)) =>
49         if mapr b=rs then I.JSR({r=r,b=rt,d=d}, defs, uses) else instr           I.JSR({r=r, b=replace b, d=d}, defs, (map replace i, f))
50       | I.BRANCH(I.BR, _, _) => instr       | I.BRANCH(I.BR, _, _) => instr
51       | I.BRANCH(br, r, lab) => if mapr r=rs then I.BRANCH(br, rt, lab) else instr       | I.BRANCH(br, r, lab) => if mapr r=rs then I.BRANCH(br, rt, lab) else instr
52       | I.OPERATE arg => operate(I.OPERATE, arg)       | I.OPERATE arg => operate(I.OPERATE, arg)
# Line 74  Line 74 
74          if mapr r=fs then I.FSTORE{stOp=stOp, r=ft, b=b, d=d, mem=mem} else instr          if mapr r=fs then I.FSTORE{stOp=stOp, r=ft, b=b, d=d, mem=mem} else instr
75       | I.FOPERATE arg => foperate(I.FOPERATE, arg)       | I.FOPERATE arg => foperate(I.FOPERATE, arg)
76       | I.FOPERATEV arg => foperate(I.FOPERATEV, arg)       | I.FOPERATEV arg => foperate(I.FOPERATEV, arg)
77         | I.JSR(opnds, defs, (i,f)) => I.JSR(opnds, defs, (i, map replace f))
78       | _ => instr       | _ => instr
79    end    end
80    
# Line 89  Line 90 
90         if mapr r=rs then I.LOAD{ldOp=ldOp, r=rt, b=b, d=d, mem=mem} else instr         if mapr r=rs then I.LOAD{ldOp=ldOp, r=rt, b=b, d=d, mem=mem} else instr
91       | I.JMPL({r, b, d}, labs) =>       | I.JMPL({r, b, d}, labs) =>
92         if mapr r=rs then I.JMPL({r=rt, b=b, d=d}, labs) else instr         if mapr r=rs then I.JMPL({r=rt, b=b, d=d}, labs) else instr
93       | I.JSR({r, b, d}, defs, uses) =>       | I.JSR({r, b, d}, (i,f), uses) =>
94         if mapr r=rs then I.JSR({r=rt, b=b, d=d}, defs, uses) else instr           I.JSR({r=rewrite r, b=b, d=d}, (map rewrite i, f), uses)
95       | I.BRANCH(I.BR, r, lab) =>       | I.BRANCH(I.BR, r, lab) =>
96         if mapr r=rs then I.BRANCH(I.BR, rt, lab) else instr         if mapr r=rs then I.BRANCH(I.BR, rt, lab) else instr
97       | I.OPERATE{oper, ra, rb, rc} =>       | I.OPERATE{oper, ra, rb, rc} =>
# Line 117  Line 118 
118          if mapr fc=fs then I.FOPERATEV{oper=oper, fa=fa, fb=fb, fc=ft} else instr          if mapr fc=fs then I.FOPERATEV{oper=oper, fa=fa, fb=fb, fc=ft} else instr
119       | I.FCOPY{dst, src, tmp, impl} =>       | I.FCOPY{dst, src, tmp, impl} =>
120          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}
121         | I.JSR(opnds, (i,f), uses) => I.JSR(opnds, (i, map rewrite f), uses)
122    
123       | _  => instr       | _  => instr
124    end    end
125  end  end
126    
127  (*  (*
128   * $Log: alpha32Rewrite.sml,v $   * $Log: alpha32Rewrite.sml,v $
129     * Revision 1.2  1998/05/08 10:53:59  george
130     *   The exhausted register has been made optional -- leung
131     *
132   * Revision 1.1.1.1  1998/04/08 18:39:01  george   * Revision 1.1.1.1  1998/04/08 18:39:01  george
133   * Version 110.5   * Version 110.5
134   *   *

Legend:
Removed from v.105  
changed lines
  Added in v.106

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