LEFT | RIGHT |
(no file at all) | |
1 // Derived from Inferno utils/6c/peep.c | 1 // Derived from Inferno utils/6c/peep.c |
2 // http://code.google.com/p/inferno-os/source/browse/utils/6c/peep.c | 2 // http://code.google.com/p/inferno-os/source/browse/utils/6c/peep.c |
3 // | 3 // |
4 // Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved. | 4 // Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved. |
5 // Portions Copyright © 1995-1997 C H Forsyth (forsyth@terzarima.net) | 5 // Portions Copyright © 1995-1997 C H Forsyth (forsyth@terzarima.net) |
6 // Portions Copyright © 1997-1999 Vita Nuova Limited | 6 // Portions Copyright © 1997-1999 Vita Nuova Limited |
7 // Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuov
a.com) | 7 // Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuov
a.com) |
8 // Portions Copyright © 2004,2006 Bruce Ellis | 8 // Portions Copyright © 2004,2006 Bruce Ellis |
9 // Portions Copyright © 2005-2007 C H Forsyth (forsyth@terzarima.net) | 9 // Portions Copyright © 2005-2007 C H Forsyth (forsyth@terzarima.net) |
10 // Revisions Copyright © 2000-2007 Lucent Technologies Inc. and others | 10 // Revisions Copyright © 2000-2007 Lucent Technologies Inc. and others |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 | 127 |
128 r = r2; | 128 r = r2; |
129 t++; | 129 t++; |
130 | 130 |
131 case ADATA: | 131 case ADATA: |
132 case AGLOBL: | 132 case AGLOBL: |
133 case ANAME: | 133 case ANAME: |
134 case ASIGNAME: | 134 case ASIGNAME: |
135 case ALOCALS: | 135 case ALOCALS: |
136 case ATYPE: | 136 case ATYPE: |
| 137 case ANPTRS: |
| 138 case APTRS: |
137 p = p->link; | 139 p = p->link; |
138 } | 140 } |
139 } | 141 } |
140 ········ | 142 ········ |
141 // byte, word arithmetic elimination. | 143 // byte, word arithmetic elimination. |
142 elimshortmov(r); | 144 elimshortmov(r); |
143 | 145 |
144 // constant propagation | 146 // constant propagation |
145 // find MOV $con,R followed by | 147 // find MOV $con,R followed by |
146 // another MOV $con,R without | 148 // another MOV $con,R without |
(...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1310 if(p->from.offset == p0->from.offset) | 1312 if(p->from.offset == p0->from.offset) |
1311 if(p->from.scale == p0->from.scale) | 1313 if(p->from.scale == p0->from.scale) |
1312 if(p->from.u.vval == p0->from.u.vval) | 1314 if(p->from.u.vval == p0->from.u.vval) |
1313 if(p->from.index == p0->from.index) { | 1315 if(p->from.index == p0->from.index) { |
1314 excise(r); | 1316 excise(r); |
1315 goto loop; | 1317 goto loop; |
1316 } | 1318 } |
1317 break; | 1319 break; |
1318 } | 1320 } |
1319 } | 1321 } |
LEFT | RIGHT |