Commit 4b759d9
committed
Implement def-use chain
Implement a new structure for def-use chain called "uc_node_t".
"uc_node_t" is stored within "struct var", includes "insn" element that
records the instruction using the variable which the use chain belongs
to.
Simplify CSE procedure with use chain information. We build the def-use
chain information by "build_use_chain" function before the optimizing
phase. In addtion, When the instructions are eliminated by CSE, we
delete its use chain nodes from both variables("rs1", "rs2") at the same
time.
The CSE method has been modified. When the first pair of instructions is
found, the use chain is utilized to search for identical ADD
instructions. Subsequently, the next instruction is verified to ensure
it match our target. After removing the instruction, utilize the use
chain to find the next target instruction.1 parent 6261f31 commit 4b759d9
2 files changed
+110
-38
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
160 | 168 | | |
161 | 169 | | |
162 | 170 | | |
| |||
174 | 182 | | |
175 | 183 | | |
176 | 184 | | |
| 185 | + | |
| 186 | + | |
177 | 187 | | |
178 | 188 | | |
179 | 189 | | |
| |||
316 | 326 | | |
317 | 327 | | |
318 | 328 | | |
319 | | - | |
320 | | - | |
321 | 329 | | |
322 | 330 | | |
323 | 331 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
401 | 401 | | |
402 | 402 | | |
403 | 403 | | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
404 | 447 | | |
405 | 448 | | |
406 | 449 | | |
| |||
1170 | 1213 | | |
1171 | 1214 | | |
1172 | 1215 | | |
1173 | | - | |
1174 | 1216 | | |
1175 | 1217 | | |
1176 | 1218 | | |
1177 | 1219 | | |
1178 | 1220 | | |
1179 | 1221 | | |
1180 | 1222 | | |
1181 | | - | |
1182 | 1223 | | |
1183 | 1224 | | |
1184 | 1225 | | |
1185 | 1226 | | |
1186 | 1227 | | |
1187 | 1228 | | |
1188 | 1229 | | |
1189 | | - | |
| 1230 | + | |
1190 | 1231 | | |
1191 | 1232 | | |
1192 | 1233 | | |
1193 | | - | |
1194 | | - | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
1195 | 1248 | | |
1196 | | - | |
1197 | | - | |
1198 | | - | |
1199 | | - | |
1200 | | - | |
1201 | | - | |
1202 | | - | |
1203 | | - | |
1204 | | - | |
1205 | | - | |
1206 | | - | |
1207 | | - | |
1208 | | - | |
1209 | | - | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
1210 | 1270 | | |
1211 | | - | |
1212 | | - | |
1213 | | - | |
1214 | | - | |
1215 | | - | |
1216 | | - | |
1217 | | - | |
1218 | | - | |
| 1271 | + | |
| 1272 | + | |
1219 | 1273 | | |
1220 | | - | |
1221 | | - | |
1222 | | - | |
1223 | | - | |
1224 | | - | |
1225 | | - | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
| 1283 | + | |
| 1284 | + | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
| 1288 | + | |
| 1289 | + | |
| 1290 | + | |
1226 | 1291 | | |
1227 | | - | |
1228 | | - | |
1229 | | - | |
1230 | 1292 | | |
1231 | 1293 | | |
1232 | 1294 | | |
| |||
1466 | 1528 | | |
1467 | 1529 | | |
1468 | 1530 | | |
| 1531 | + | |
| 1532 | + | |
1469 | 1533 | | |
1470 | 1534 | | |
1471 | 1535 | | |
| |||
0 commit comments