Commit 717e33e
Thorsten Schütt
[GlobalIsel] Combine zext of trunc (episode II)
The One with the Sonogram at the End
Either replace zext(trunc(x)) with x
or
If we're actually extending zero bits, then if
SrcSize < DstSize: zext(a & mask)
SrcSize == DstSize: a & mask
SrcSize > DstSize: trunc(a) & mask
Credits: https://reviews.llvm.org/D96031
InstCombinerImpl::visitZExt
LegalizationArtifactCombiner::tryCombineZExt
Test: AMDGPU/GlobalISel/combine-zext-trunc.mir1 parent 9f24c14 commit 717e33e
File tree
68 files changed
+4346
-2245
lines changed- llvm
- include/llvm
- CodeGen/GlobalISel
- Target/GlobalISel
- lib
- CodeGen/GlobalISel
- Target/AMDGPU
- test/CodeGen
- AArch64
- GlobalISel
- AMDGPU
- GlobalISel
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
68 files changed
+4346
-2245
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
388 | 388 | | |
389 | 389 | | |
390 | 390 | | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | 391 | | |
395 | 392 | | |
396 | 393 | | |
| |||
918 | 915 | | |
919 | 916 | | |
920 | 917 | | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
921 | 922 | | |
922 | 923 | | |
923 | 924 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
758 | 758 | | |
759 | 759 | | |
760 | 760 | | |
761 | | - | |
762 | | - | |
763 | | - | |
764 | | - | |
765 | | - | |
766 | | - | |
767 | | - | |
768 | | - | |
769 | | - | |
770 | 761 | | |
771 | 762 | | |
772 | 763 | | |
| |||
1791 | 1782 | | |
1792 | 1783 | | |
1793 | 1784 | | |
| 1785 | + | |
| 1786 | + | |
| 1787 | + | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
1794 | 1794 | | |
1795 | 1795 | | |
1796 | 1796 | | |
| |||
1812 | 1812 | | |
1813 | 1813 | | |
1814 | 1814 | | |
1815 | | - | |
| 1815 | + | |
| 1816 | + | |
1816 | 1817 | | |
1817 | 1818 | | |
1818 | 1819 | | |
| |||
1869 | 1870 | | |
1870 | 1871 | | |
1871 | 1872 | | |
1872 | | - | |
1873 | 1873 | | |
1874 | 1874 | | |
1875 | 1875 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
333 | 333 | | |
334 | 334 | | |
335 | 335 | | |
336 | | - | |
| 336 | + | |
337 | 337 | | |
| 338 | + | |
| 339 | + | |
338 | 340 | | |
339 | 341 | | |
340 | 342 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2526 | 2526 | | |
2527 | 2527 | | |
2528 | 2528 | | |
2529 | | - | |
2530 | | - | |
2531 | | - | |
2532 | | - | |
2533 | | - | |
2534 | | - | |
2535 | | - | |
2536 | | - | |
2537 | | - | |
2538 | | - | |
2539 | | - | |
2540 | | - | |
2541 | | - | |
2542 | | - | |
2543 | 2529 | | |
2544 | 2530 | | |
2545 | 2531 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
359 | 359 | | |
360 | 360 | | |
361 | 361 | | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 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 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
171 | | - | |
| 171 | + | |
172 | 172 | | |
173 | 173 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1938 | 1938 | | |
1939 | 1939 | | |
1940 | 1940 | | |
1941 | | - | |
| 1941 | + | |
1942 | 1942 | | |
1943 | 1943 | | |
1944 | | - | |
1945 | | - | |
| 1944 | + | |
| 1945 | + | |
1946 | 1946 | | |
1947 | 1947 | | |
1948 | | - | |
| 1948 | + | |
1949 | 1949 | | |
1950 | 1950 | | |
1951 | 1951 | | |
| |||
2993 | 2993 | | |
2994 | 2994 | | |
2995 | 2995 | | |
2996 | | - | |
| 2996 | + | |
2997 | 2997 | | |
2998 | 2998 | | |
2999 | | - | |
3000 | | - | |
| 2999 | + | |
| 3000 | + | |
3001 | 3001 | | |
3002 | 3002 | | |
3003 | | - | |
| 3003 | + | |
3004 | 3004 | | |
3005 | 3005 | | |
3006 | 3006 | | |
| |||
5996 | 5996 | | |
5997 | 5997 | | |
5998 | 5998 | | |
5999 | | - | |
6000 | 5999 | | |
6001 | 6000 | | |
6002 | 6001 | | |
| |||
6103 | 6102 | | |
6104 | 6103 | | |
6105 | 6104 | | |
6106 | | - | |
6107 | 6105 | | |
6108 | 6106 | | |
6109 | 6107 | | |
| |||
Lines changed: 16 additions & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
746 | 746 | | |
747 | 747 | | |
748 | 748 | | |
749 | | - | |
| 749 | + | |
750 | 750 | | |
751 | 751 | | |
752 | 752 | | |
753 | | - | |
| 753 | + | |
754 | 754 | | |
755 | | - | |
756 | | - | |
| 755 | + | |
| 756 | + | |
757 | 757 | | |
758 | 758 | | |
759 | 759 | | |
760 | | - | |
| 760 | + | |
761 | 761 | | |
762 | | - | |
| 762 | + | |
763 | 763 | | |
764 | 764 | | |
765 | 765 | | |
| |||
999 | 999 | | |
1000 | 1000 | | |
1001 | 1001 | | |
1002 | | - | |
| 1002 | + | |
1003 | 1003 | | |
1004 | 1004 | | |
1005 | 1005 | | |
1006 | | - | |
| 1006 | + | |
1007 | 1007 | | |
1008 | | - | |
1009 | | - | |
| 1008 | + | |
| 1009 | + | |
1010 | 1010 | | |
1011 | 1011 | | |
1012 | 1012 | | |
1013 | | - | |
| 1013 | + | |
1014 | 1014 | | |
1015 | | - | |
| 1015 | + | |
1016 | 1016 | | |
1017 | 1017 | | |
1018 | 1018 | | |
| |||
1229 | 1229 | | |
1230 | 1230 | | |
1231 | 1231 | | |
1232 | | - | |
1233 | 1232 | | |
1234 | 1233 | | |
1235 | 1234 | | |
1236 | | - | |
| 1235 | + | |
1237 | 1236 | | |
1238 | 1237 | | |
1239 | 1238 | | |
| |||
1242 | 1241 | | |
1243 | 1242 | | |
1244 | 1243 | | |
1245 | | - | |
| 1244 | + | |
1246 | 1245 | | |
1247 | 1246 | | |
1248 | 1247 | | |
| |||
1272 | 1271 | | |
1273 | 1272 | | |
1274 | 1273 | | |
1275 | | - | |
1276 | 1274 | | |
1277 | 1275 | | |
1278 | 1276 | | |
1279 | | - | |
| 1277 | + | |
1280 | 1278 | | |
1281 | 1279 | | |
1282 | 1280 | | |
| |||
1285 | 1283 | | |
1286 | 1284 | | |
1287 | 1285 | | |
1288 | | - | |
| 1286 | + | |
1289 | 1287 | | |
1290 | 1288 | | |
1291 | 1289 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
| 52 | + | |
| 53 | + | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| |||
0 commit comments