Commit c93df39
committed
[VPlan] Extend licm with speculative-exec-check
Technically speaking, LICM is only unsafe if the recipe reads or writes
memory in the absence of additional information. It is moreover safe to
hoist if the recipe is guaranteed to execute, or if it is safe to
speculatively execute it. This patch aligns the VPlan-licm more closely
with the IR-LICM.1 parent 0e6557d commit c93df39
File tree
4 files changed
+60
-13
lines changed- llvm
- lib/Transforms/Vectorize
- test/Transforms/LoopVectorize
- AArch64
- X86
4 files changed
+60
-13
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1546 | 1546 | | |
1547 | 1547 | | |
1548 | 1548 | | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
1549 | 1552 | | |
1550 | 1553 | | |
1551 | 1554 | | |
| |||
1569 | 1572 | | |
1570 | 1573 | | |
1571 | 1574 | | |
| 1575 | + | |
1572 | 1576 | | |
1573 | 1577 | | |
1574 | 1578 | | |
| |||
1608 | 1612 | | |
1609 | 1613 | | |
1610 | 1614 | | |
| 1615 | + | |
| 1616 | + | |
| 1617 | + | |
| 1618 | + | |
| 1619 | + | |
1611 | 1620 | | |
1612 | 1621 | | |
1613 | 1622 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
| |||
2102 | 2103 | | |
2103 | 2104 | | |
2104 | 2105 | | |
| 2106 | + | |
| 2107 | + | |
| 2108 | + | |
| 2109 | + | |
| 2110 | + | |
| 2111 | + | |
| 2112 | + | |
| 2113 | + | |
| 2114 | + | |
| 2115 | + | |
2105 | 2116 | | |
2106 | 2117 | | |
2107 | 2118 | | |
| |||
2110 | 2121 | | |
2111 | 2122 | | |
2112 | 2123 | | |
| 2124 | + | |
| 2125 | + | |
| 2126 | + | |
| 2127 | + | |
| 2128 | + | |
2113 | 2129 | | |
2114 | 2130 | | |
2115 | 2131 | | |
| |||
2119 | 2135 | | |
2120 | 2136 | | |
2121 | 2137 | | |
| 2138 | + | |
2122 | 2139 | | |
2123 | 2140 | | |
2124 | 2141 | | |
2125 | 2142 | | |
2126 | 2143 | | |
2127 | | - | |
2128 | | - | |
2129 | | - | |
| 2144 | + | |
2130 | 2145 | | |
2131 | 2146 | | |
2132 | 2147 | | |
| |||
Lines changed: 8 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
49 | | - | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
| |||
91 | 92 | | |
92 | 93 | | |
93 | 94 | | |
| 95 | + | |
94 | 96 | | |
95 | 97 | | |
96 | 98 | | |
97 | 99 | | |
98 | | - | |
99 | 100 | | |
100 | 101 | | |
101 | 102 | | |
102 | | - | |
| 103 | + | |
103 | 104 | | |
104 | | - | |
105 | | - | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
106 | 108 | | |
107 | 109 | | |
108 | 110 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
1 | 2 | | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
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 | + | |
6 | 30 | | |
7 | 31 | | |
8 | | - | |
| 32 | + | |
9 | 33 | | |
10 | 34 | | |
11 | 35 | | |
| |||
31 | 55 | | |
32 | 56 | | |
33 | 57 | | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | 58 | | |
38 | 59 | | |
39 | 60 | | |
| |||
0 commit comments