Commit f48884d
authored
[VPlan] Remove loop region in optimizeForVFAndUF. (#108378)
Update optimizeForVFAndUF to completely remove the vector loop region
when possible. At the moment, we cannot remove the region if it contains
* widened IVs: the recipe is needed to generate the step vector
* reductions: ComputeReductionResults requires the reduction phi recipe
for codegen.
Both cases can be addressed by more explicit modeling.
The patch also includes a number of updates to allow executing VPlans
without a vector loop region.
Depends on #1100041 parent 2adcec7 commit f48884d
File tree
17 files changed
+567
-676
lines changed- llvm
- lib/Transforms/Vectorize
- test/Transforms/LoopVectorize
- AArch64
- RISCV
- SystemZ
- X86
17 files changed
+567
-676
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2394 | 2394 | | |
2395 | 2395 | | |
2396 | 2396 | | |
2397 | | - | |
2398 | | - | |
2399 | | - | |
2400 | | - | |
2401 | | - | |
2402 | | - | |
| 2397 | + | |
| 2398 | + | |
| 2399 | + | |
| 2400 | + | |
| 2401 | + | |
| 2402 | + | |
2403 | 2403 | | |
2404 | 2404 | | |
2405 | 2405 | | |
| |||
3012 | 3012 | | |
3013 | 3013 | | |
3014 | 3014 | | |
| 3015 | + | |
| 3016 | + | |
| 3017 | + | |
| 3018 | + | |
| 3019 | + | |
3015 | 3020 | | |
3016 | 3021 | | |
3017 | 3022 | | |
| |||
7744 | 7749 | | |
7745 | 7750 | | |
7746 | 7751 | | |
| 7752 | + | |
| 7753 | + | |
7747 | 7754 | | |
7748 | 7755 | | |
7749 | 7756 | | |
| |||
7781 | 7788 | | |
7782 | 7789 | | |
7783 | 7790 | | |
7784 | | - | |
| 7791 | + | |
7785 | 7792 | | |
7786 | 7793 | | |
7787 | 7794 | | |
| |||
7807 | 7814 | | |
7808 | 7815 | | |
7809 | 7816 | | |
7810 | | - | |
| 7817 | + | |
| 7818 | + | |
7811 | 7819 | | |
7812 | | - | |
7813 | | - | |
7814 | | - | |
7815 | | - | |
7816 | | - | |
7817 | | - | |
7818 | | - | |
7819 | | - | |
7820 | | - | |
7821 | | - | |
7822 | | - | |
7823 | | - | |
7824 | | - | |
7825 | | - | |
7826 | | - | |
7827 | | - | |
7828 | | - | |
| 7820 | + | |
| 7821 | + | |
| 7822 | + | |
| 7823 | + | |
| 7824 | + | |
| 7825 | + | |
| 7826 | + | |
| 7827 | + | |
| 7828 | + | |
| 7829 | + | |
| 7830 | + | |
| 7831 | + | |
| 7832 | + | |
| 7833 | + | |
| 7834 | + | |
| 7835 | + | |
| 7836 | + | |
| 7837 | + | |
| 7838 | + | |
| 7839 | + | |
| 7840 | + | |
7829 | 7841 | | |
7830 | | - | |
7831 | | - | |
7832 | | - | |
7833 | | - | |
7834 | 7842 | | |
7835 | 7843 | | |
7836 | 7844 | | |
| |||
7839 | 7847 | | |
7840 | 7848 | | |
7841 | 7849 | | |
7842 | | - | |
7843 | | - | |
7844 | | - | |
7845 | | - | |
7846 | | - | |
7847 | | - | |
7848 | | - | |
7849 | | - | |
7850 | | - | |
| 7850 | + | |
| 7851 | + | |
| 7852 | + | |
| 7853 | + | |
| 7854 | + | |
| 7855 | + | |
| 7856 | + | |
| 7857 | + | |
| 7858 | + | |
| 7859 | + | |
| 7860 | + | |
| 7861 | + | |
7851 | 7862 | | |
7852 | 7863 | | |
7853 | 7864 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
555 | 555 | | |
556 | 556 | | |
557 | 557 | | |
558 | | - | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
559 | 561 | | |
560 | 562 | | |
561 | 563 | | |
| |||
934 | 936 | | |
935 | 937 | | |
936 | 938 | | |
937 | | - | |
| 939 | + | |
| 940 | + | |
938 | 941 | | |
939 | 942 | | |
940 | 943 | | |
| |||
988 | 991 | | |
989 | 992 | | |
990 | 993 | | |
991 | | - | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
992 | 1001 | | |
993 | 1002 | | |
994 | 1003 | | |
995 | 1004 | | |
996 | | - | |
| 1005 | + | |
997 | 1006 | | |
998 | 1007 | | |
999 | 1008 | | |
| |||
1032 | 1041 | | |
1033 | 1042 | | |
1034 | 1043 | | |
1035 | | - | |
1036 | | - | |
1037 | 1044 | | |
1038 | 1045 | | |
1039 | 1046 | | |
| |||
1046 | 1053 | | |
1047 | 1054 | | |
1048 | 1055 | | |
1049 | | - | |
| 1056 | + | |
1050 | 1057 | | |
1051 | 1058 | | |
1052 | 1059 | | |
1053 | 1060 | | |
1054 | 1061 | | |
1055 | 1062 | | |
1056 | | - | |
| 1063 | + | |
1057 | 1064 | | |
1058 | 1065 | | |
1059 | 1066 | | |
| |||
1399 | 1406 | | |
1400 | 1407 | | |
1401 | 1408 | | |
1402 | | - | |
1403 | | - | |
1404 | | - | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
1405 | 1415 | | |
1406 | 1416 | | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
1407 | 1420 | | |
1408 | 1421 | | |
1409 | 1422 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3853 | 3853 | | |
3854 | 3854 | | |
3855 | 3855 | | |
3856 | | - | |
| 3856 | + | |
| 3857 | + | |
3857 | 3858 | | |
3858 | | - | |
| 3859 | + | |
| 3860 | + | |
| 3861 | + | |
| 3862 | + | |
3859 | 3863 | | |
3860 | 3864 | | |
3861 | 3865 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
794 | 794 | | |
795 | 795 | | |
796 | 796 | | |
797 | | - | |
798 | | - | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
799 | 800 | | |
800 | 801 | | |
801 | | - | |
802 | | - | |
| 802 | + | |
803 | 803 | | |
804 | 804 | | |
805 | 805 | | |
| |||
812 | 812 | | |
813 | 813 | | |
814 | 814 | | |
815 | | - | |
816 | | - | |
| 815 | + | |
| 816 | + | |
817 | 817 | | |
818 | 818 | | |
819 | 819 | | |
| |||
837 | 837 | | |
838 | 838 | | |
839 | 839 | | |
840 | | - | |
841 | | - | |
842 | | - | |
843 | | - | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
844 | 853 | | |
845 | | - | |
846 | | - | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
847 | 861 | | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
848 | 876 | | |
849 | 877 | | |
850 | 878 | | |
| |||
1258 | 1286 | | |
1259 | 1287 | | |
1260 | 1288 | | |
1261 | | - | |
| 1289 | + | |
1262 | 1290 | | |
1263 | 1291 | | |
1264 | | - | |
| 1292 | + | |
1265 | 1293 | | |
1266 | 1294 | | |
1267 | 1295 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
84 | | - | |
85 | | - | |
| 83 | + | |
86 | 84 | | |
87 | 85 | | |
88 | 86 | | |
89 | | - | |
90 | | - | |
91 | | - | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
92 | 90 | | |
93 | 91 | | |
94 | 92 | | |
| |||
102 | 100 | | |
103 | 101 | | |
104 | 102 | | |
105 | | - | |
| 103 | + | |
106 | 104 | | |
107 | 105 | | |
108 | 106 | | |
| |||
233 | 231 | | |
234 | 232 | | |
235 | 233 | | |
236 | | - | |
237 | | - | |
| 234 | + | |
238 | 235 | | |
0 commit comments