Commit 81d3189
authored
[LAA] Keep pointer checks on partial analysis (#139719)
Currently if there's any memory access that AccessAnalysis couldn't
analyze then all of the runtime pointer check results are discarded.
This patch makes this able to be controlled with the AllowPartial
option, which makes it so we generate the runtime check information
for those pointers that we could analyze, as transformations may still
be able to make use of the partial information.
Of the transformations that use LoopAccessAnalysis, only
LoopVersioningLICM changes behaviour as a result of this change. This is
because the others either:
* Check canVectorizeMemory, which will return false when we have partial
pointer information as analyzeLoop() will return false.
* Examine the dependencies returned by getDepChecker(), which will be
empty as we exit analyzeLoop if we have partial pointer information
before calling areDepsSafe(), which is what fills in the dependency
information.1 parent 8f352f4 commit 81d3189
File tree
14 files changed
+511
-65
lines changed- llvm
- include/llvm
- Analysis
- Transforms/Scalar
- lib
- Analysis
- Passes
- Transforms/Scalar
- test
- Analysis/LoopAccessAnalysis
- Transforms/LoopVersioningLICM
14 files changed
+511
-65
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
194 | 194 | | |
195 | 195 | | |
196 | 196 | | |
197 | | - | |
| 197 | + | |
| 198 | + | |
198 | 199 | | |
199 | 200 | | |
200 | 201 | | |
| |||
654 | 655 | | |
655 | 656 | | |
656 | 657 | | |
657 | | - | |
| 658 | + | |
| 659 | + | |
658 | 660 | | |
659 | 661 | | |
660 | 662 | | |
| |||
667 | 669 | | |
668 | 670 | | |
669 | 671 | | |
670 | | - | |
| 672 | + | |
| 673 | + | |
671 | 674 | | |
672 | 675 | | |
673 | 676 | | |
| |||
682 | 685 | | |
683 | 686 | | |
684 | 687 | | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
685 | 693 | | |
686 | 694 | | |
687 | 695 | | |
| |||
784 | 792 | | |
785 | 793 | | |
786 | 794 | | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
787 | 798 | | |
788 | 799 | | |
789 | | - | |
| 800 | + | |
790 | 801 | | |
| 802 | + | |
| 803 | + | |
791 | 804 | | |
792 | 805 | | |
793 | 806 | | |
794 | 807 | | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
795 | 812 | | |
796 | 813 | | |
797 | 814 | | |
798 | 815 | | |
799 | 816 | | |
800 | 817 | | |
| 818 | + | |
801 | 819 | | |
802 | 820 | | |
803 | 821 | | |
| |||
920 | 938 | | |
921 | 939 | | |
922 | 940 | | |
923 | | - | |
| 941 | + | |
924 | 942 | | |
925 | 943 | | |
926 | 944 | | |
| |||
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | | - | |
| 26 | + | |
| 27 | + | |
26 | 28 | | |
27 | 29 | | |
28 | 30 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
530 | 530 | | |
531 | 531 | | |
532 | 532 | | |
533 | | - | |
534 | | - | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
535 | 537 | | |
536 | 538 | | |
537 | 539 | | |
| |||
693 | 695 | | |
694 | 696 | | |
695 | 697 | | |
696 | | - | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
697 | 702 | | |
698 | 703 | | |
699 | | - | |
| 704 | + | |
700 | 705 | | |
701 | 706 | | |
702 | 707 | | |
| |||
1174 | 1179 | | |
1175 | 1180 | | |
1176 | 1181 | | |
1177 | | - | |
1178 | | - | |
| 1182 | + | |
| 1183 | + | |
1179 | 1184 | | |
1180 | 1185 | | |
1181 | 1186 | | |
| |||
1268 | 1273 | | |
1269 | 1274 | | |
1270 | 1275 | | |
1271 | | - | |
| 1276 | + | |
| 1277 | + | |
1272 | 1278 | | |
1273 | 1279 | | |
1274 | 1280 | | |
| |||
1308 | 1314 | | |
1309 | 1315 | | |
1310 | 1316 | | |
1311 | | - | |
| 1317 | + | |
1312 | 1318 | | |
1313 | 1319 | | |
1314 | 1320 | | |
| |||
1322 | 1328 | | |
1323 | 1329 | | |
1324 | 1330 | | |
1325 | | - | |
| 1331 | + | |
1326 | 1332 | | |
1327 | 1333 | | |
1328 | 1334 | | |
| |||
2592 | 2598 | | |
2593 | 2599 | | |
2594 | 2600 | | |
2595 | | - | |
2596 | | - | |
2597 | | - | |
| 2601 | + | |
| 2602 | + | |
| 2603 | + | |
2598 | 2604 | | |
2599 | 2605 | | |
2600 | 2606 | | |
| |||
2622 | 2628 | | |
2623 | 2629 | | |
2624 | 2630 | | |
2625 | | - | |
2626 | | - | |
| 2631 | + | |
| 2632 | + | |
| 2633 | + | |
2627 | 2634 | | |
2628 | 2635 | | |
2629 | | - | |
| 2636 | + | |
2630 | 2637 | | |
2631 | 2638 | | |
2632 | 2639 | | |
| |||
2901 | 2908 | | |
2902 | 2909 | | |
2903 | 2910 | | |
2904 | | - | |
| 2911 | + | |
| 2912 | + | |
2905 | 2913 | | |
2906 | | - | |
| 2914 | + | |
2907 | 2915 | | |
2908 | 2916 | | |
2909 | 2917 | | |
| |||
2952 | 2960 | | |
2953 | 2961 | | |
2954 | 2962 | | |
| 2963 | + | |
| 2964 | + | |
2955 | 2965 | | |
2956 | 2966 | | |
2957 | 2967 | | |
| |||
2971 | 2981 | | |
2972 | 2982 | | |
2973 | 2983 | | |
2974 | | - | |
| 2984 | + | |
| 2985 | + | |
2975 | 2986 | | |
2976 | 2987 | | |
2977 | | - | |
2978 | | - | |
2979 | | - | |
| 2988 | + | |
| 2989 | + | |
| 2990 | + | |
| 2991 | + | |
| 2992 | + | |
2980 | 2993 | | |
2981 | 2994 | | |
2982 | 2995 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
441 | 441 | | |
442 | 442 | | |
443 | 443 | | |
444 | | - | |
445 | 444 | | |
446 | 445 | | |
447 | 446 | | |
| |||
583 | 582 | | |
584 | 583 | | |
585 | 584 | | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
586 | 595 | | |
587 | 596 | | |
588 | 597 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
| 31 | + | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
368 | 368 | | |
369 | 369 | | |
370 | 370 | | |
371 | | - | |
| 371 | + | |
372 | 372 | | |
373 | 373 | | |
374 | 374 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
0 commit comments