Commit 88dbd11
authored
Unify O2K_CHECKED_BOUND_ADD_CNS and O2K_VN (#128165)
I decided that it makes no sense to have these separate. So now the
semantics of `O2K_VN_ADD_CNS`:
1) Decomposed "X+CNS" into `op2.GetVN()` being X and CNS being
`op2.GetCNS()`. Exactly like `O2K_CHECKED_BOUND_ADD_CNS` used to be. The
decomposition allows us to avoid calling GetVNFunc in the hot loop in
MergeEdgeAssertions since we usually are more interested in that X
rather than the whole ADD's VN.
2) `O2K_VN_ADD_CNS` alone doesn't imply that anything is non-negative
and no callers assume that (we used to have a bug where IsVNCheckedBound
was assumed to be unconditionally never-negative). There is
`GetOp2().IsVNNeverNegative()` which only exists because bound check
node actually produce two assertions we can't spawn today because trees
may only have 1 assertion. I'm thinking of solving this by introducing
an aggregate (or just allow trees to have 2 assertions), or just add a
fake COMMA
3) I intentionally tried to make this almost 0 diffs, but there are just
a few improvements I couldn't shut (they're not related to the
non-negativitiy).1 parent 8df6a1f commit 88dbd11
3 files changed
Lines changed: 68 additions & 89 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
899 | 899 | | |
900 | 900 | | |
901 | 901 | | |
902 | | - | |
903 | | - | |
904 | | - | |
905 | | - | |
906 | | - | |
907 | | - | |
908 | | - | |
| 902 | + | |
| 903 | + | |
909 | 904 | | |
910 | 905 | | |
911 | 906 | | |
| |||
1413 | 1408 | | |
1414 | 1409 | | |
1415 | 1410 | | |
1416 | | - | |
| 1411 | + | |
1417 | 1412 | | |
1418 | | - | |
| 1413 | + | |
1419 | 1414 | | |
1420 | 1415 | | |
1421 | 1416 | | |
| |||
1425 | 1420 | | |
1426 | 1421 | | |
1427 | 1422 | | |
1428 | | - | |
1429 | | - | |
1430 | | - | |
1431 | | - | |
1432 | | - | |
1433 | | - | |
1434 | | - | |
1435 | 1423 | | |
1436 | 1424 | | |
1437 | 1425 | | |
| |||
1561 | 1549 | | |
1562 | 1550 | | |
1563 | 1551 | | |
1564 | | - | |
| 1552 | + | |
1565 | 1553 | | |
1566 | 1554 | | |
1567 | 1555 | | |
| |||
1650 | 1638 | | |
1651 | 1639 | | |
1652 | 1640 | | |
1653 | | - | |
1654 | | - | |
| 1641 | + | |
1655 | 1642 | | |
1656 | 1643 | | |
1657 | 1644 | | |
| |||
4360 | 4347 | | |
4361 | 4348 | | |
4362 | 4349 | | |
| 4350 | + | |
| 4351 | + | |
| 4352 | + | |
| 4353 | + | |
4363 | 4354 | | |
4364 | | - | |
4365 | | - | |
4366 | | - | |
4367 | | - | |
| 4355 | + | |
| 4356 | + | |
4368 | 4357 | | |
4369 | 4358 | | |
4370 | 4359 | | |
| |||
5449 | 5438 | | |
5450 | 5439 | | |
5451 | 5440 | | |
5452 | | - | |
5453 | | - | |
| 5441 | + | |
| 5442 | + | |
5454 | 5443 | | |
5455 | 5444 | | |
5456 | | - | |
5457 | | - | |
| 5445 | + | |
5458 | 5446 | | |
5459 | 5447 | | |
5460 | 5448 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8192 | 8192 | | |
8193 | 8193 | | |
8194 | 8194 | | |
8195 | | - | |
8196 | | - | |
8197 | | - | |
8198 | | - | |
| 8195 | + | |
8199 | 8196 | | |
8200 | 8197 | | |
8201 | 8198 | | |
8202 | | - | |
8203 | 8199 | | |
8204 | 8200 | | |
8205 | 8201 | | |
| |||
8258 | 8254 | | |
8259 | 8255 | | |
8260 | 8256 | | |
8261 | | - | |
| 8257 | + | |
8262 | 8258 | | |
8263 | 8259 | | |
8264 | 8260 | | |
| |||
8345 | 8341 | | |
8346 | 8342 | | |
8347 | 8343 | | |
8348 | | - | |
| 8344 | + | |
8349 | 8345 | | |
8350 | 8346 | | |
8351 | 8347 | | |
8352 | 8348 | | |
8353 | | - | |
8354 | | - | |
| 8349 | + | |
| 8350 | + | |
8355 | 8351 | | |
8356 | 8352 | | |
8357 | | - | |
| 8353 | + | |
8358 | 8354 | | |
8359 | 8355 | | |
8360 | 8356 | | |
8361 | 8357 | | |
8362 | | - | |
8363 | | - | |
8364 | | - | |
| 8358 | + | |
| 8359 | + | |
8365 | 8360 | | |
8366 | 8361 | | |
8367 | | - | |
8368 | | - | |
8369 | | - | |
8370 | | - | |
8371 | | - | |
8372 | | - | |
8373 | | - | |
8374 | | - | |
8375 | | - | |
8376 | | - | |
| 8362 | + | |
| 8363 | + | |
8377 | 8364 | | |
8378 | 8365 | | |
8379 | 8366 | | |
| |||
8500 | 8487 | | |
8501 | 8488 | | |
8502 | 8489 | | |
8503 | | - | |
| 8490 | + | |
8504 | 8491 | | |
8505 | | - | |
8506 | | - | |
| 8492 | + | |
| 8493 | + | |
8507 | 8494 | | |
8508 | 8495 | | |
8509 | 8496 | | |
| |||
8685 | 8672 | | |
8686 | 8673 | | |
8687 | 8674 | | |
8688 | | - | |
8689 | | - | |
8690 | | - | |
8691 | | - | |
| 8675 | + | |
| 8676 | + | |
| 8677 | + | |
8692 | 8678 | | |
8693 | 8679 | | |
8694 | 8680 | | |
8695 | 8681 | | |
8696 | 8682 | | |
8697 | 8683 | | |
8698 | 8684 | | |
8699 | | - | |
8700 | | - | |
8701 | | - | |
8702 | 8685 | | |
8703 | 8686 | | |
8704 | 8687 | | |
| |||
8914 | 8897 | | |
8915 | 8898 | | |
8916 | 8899 | | |
8917 | | - | |
| 8900 | + | |
8918 | 8901 | | |
8919 | 8902 | | |
8920 | | - | |
8921 | | - | |
8922 | | - | |
| 8903 | + | |
| 8904 | + | |
| 8905 | + | |
| 8906 | + | |
8923 | 8907 | | |
8924 | 8908 | | |
8925 | 8909 | | |
| |||
8934 | 8918 | | |
8935 | 8919 | | |
8936 | 8920 | | |
8937 | | - | |
| 8921 | + | |
8938 | 8922 | | |
8939 | 8923 | | |
8940 | 8924 | | |
| |||
8968 | 8952 | | |
8969 | 8953 | | |
8970 | 8954 | | |
8971 | | - | |
8972 | | - | |
8973 | | - | |
8974 | | - | |
8975 | | - | |
8976 | | - | |
| 8955 | + | |
| 8956 | + | |
| 8957 | + | |
| 8958 | + | |
| 8959 | + | |
| 8960 | + | |
| 8961 | + | |
| 8962 | + | |
8977 | 8963 | | |
8978 | 8964 | | |
8979 | 8965 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1126 | 1126 | | |
1127 | 1127 | | |
1128 | 1128 | | |
1129 | | - | |
| 1129 | + | |
1130 | 1130 | | |
1131 | 1131 | | |
1132 | | - | |
1133 | | - | |
| 1132 | + | |
1134 | 1133 | | |
1135 | 1134 | | |
1136 | 1135 | | |
| |||
1164 | 1163 | | |
1165 | 1164 | | |
1166 | 1165 | | |
1167 | | - | |
| 1166 | + | |
1168 | 1167 | | |
1169 | 1168 | | |
1170 | 1169 | | |
1171 | 1170 | | |
1172 | 1171 | | |
1173 | | - | |
1174 | | - | |
1175 | | - | |
| 1172 | + | |
| 1173 | + | |
1176 | 1174 | | |
1177 | | - | |
| 1175 | + | |
1178 | 1176 | | |
1179 | 1177 | | |
1180 | 1178 | | |
1181 | | - | |
| 1179 | + | |
1182 | 1180 | | |
1183 | 1181 | | |
1184 | 1182 | | |
| |||
1197 | 1195 | | |
1198 | 1196 | | |
1199 | 1197 | | |
1200 | | - | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
1201 | 1204 | | |
1202 | | - | |
| 1205 | + | |
| 1206 | + | |
1203 | 1207 | | |
1204 | | - | |
1205 | | - | |
| 1208 | + | |
| 1209 | + | |
1206 | 1210 | | |
1207 | 1211 | | |
1208 | 1212 | | |
| |||
1234 | 1238 | | |
1235 | 1239 | | |
1236 | 1240 | | |
1237 | | - | |
| 1241 | + | |
1238 | 1242 | | |
1239 | 1243 | | |
1240 | 1244 | | |
| |||
1321 | 1325 | | |
1322 | 1326 | | |
1323 | 1327 | | |
1324 | | - | |
| 1328 | + | |
1325 | 1329 | | |
1326 | | - | |
1327 | | - | |
| 1330 | + | |
| 1331 | + | |
1328 | 1332 | | |
1329 | 1333 | | |
1330 | 1334 | | |
| |||
1404 | 1408 | | |
1405 | 1409 | | |
1406 | 1410 | | |
1407 | | - | |
| 1411 | + | |
| 1412 | + | |
1408 | 1413 | | |
1409 | 1414 | | |
1410 | 1415 | | |
| |||
0 commit comments