Commit 4a4d517
committed
ValueTracking: complete matchSimpleRecurrence
matchSimpleRecurrence only misses recurrence cases for UDiv, SDiv, URem,
and SRem, as no meaningful simplification can be performed on an Xor
recurrence using the KnownBits infrastructure; Xor with zero is already
simplified. Further, the FMul in the switch statement is uncreachable
code, as KnownBits doesn't support fp values. Hence, write
simplifications for UDiv, SDiv, URem and SRem recurrences using
KnownBits, and strip the FMul from the switch statement, completing the
function.1 parent 5b8fbcc commit 4a4d517
File tree
2 files changed
+57
-67
lines changed- llvm
- lib/Analysis
- test/Analysis/ValueTracking
2 files changed
+57
-67
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1451 | 1451 | | |
1452 | 1452 | | |
1453 | 1453 | | |
1454 | | - | |
1455 | | - | |
1456 | | - | |
1457 | | - | |
1458 | | - | |
1459 | | - | |
1460 | | - | |
1461 | | - | |
1462 | | - | |
1463 | | - | |
1464 | | - | |
1465 | | - | |
1466 | | - | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
1467 | 1459 | | |
1468 | | - | |
1469 | | - | |
1470 | | - | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
1471 | 1463 | | |
1472 | | - | |
1473 | | - | |
1474 | | - | |
1475 | | - | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
1476 | 1468 | | |
1477 | | - | |
1478 | | - | |
1479 | | - | |
1480 | | - | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
1481 | 1472 | | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
1482 | 1482 | | |
1483 | 1483 | | |
1484 | 1484 | | |
| |||
1514 | 1514 | | |
1515 | 1515 | | |
1516 | 1516 | | |
1517 | | - | |
1518 | 1517 | | |
1519 | 1518 | | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
| 1522 | + | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
1520 | 1537 | | |
1521 | 1538 | | |
1522 | 1539 | | |
| |||
8968 | 8985 | | |
8969 | 8986 | | |
8970 | 8987 | | |
8971 | | - | |
8972 | 8988 | | |
8973 | 8989 | | |
8974 | 8990 | | |
| |||
8977 | 8993 | | |
8978 | 8994 | | |
8979 | 8995 | | |
8980 | | - | |
| 8996 | + | |
| 8997 | + | |
| 8998 | + | |
| 8999 | + | |
| 9000 | + | |
8981 | 9001 | | |
8982 | 9002 | | |
8983 | 9003 | | |
| |||
Lines changed: 10 additions & 40 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
90 | | - | |
91 | 89 | | |
92 | 90 | | |
93 | | - | |
94 | | - | |
| 91 | + | |
95 | 92 | | |
96 | 93 | | |
97 | 94 | | |
| |||
109 | 106 | | |
110 | 107 | | |
111 | 108 | | |
112 | | - | |
113 | | - | |
114 | 109 | | |
115 | 110 | | |
116 | | - | |
117 | | - | |
| 111 | + | |
118 | 112 | | |
119 | 113 | | |
120 | 114 | | |
| |||
132 | 126 | | |
133 | 127 | | |
134 | 128 | | |
135 | | - | |
136 | | - | |
137 | 129 | | |
138 | 130 | | |
139 | | - | |
140 | | - | |
| 131 | + | |
141 | 132 | | |
142 | 133 | | |
143 | 134 | | |
| |||
155 | 146 | | |
156 | 147 | | |
157 | 148 | | |
158 | | - | |
159 | | - | |
160 | 149 | | |
161 | 150 | | |
162 | | - | |
163 | | - | |
| 151 | + | |
164 | 152 | | |
165 | 153 | | |
166 | 154 | | |
| |||
178 | 166 | | |
179 | 167 | | |
180 | 168 | | |
181 | | - | |
182 | | - | |
183 | 169 | | |
184 | 170 | | |
185 | | - | |
186 | | - | |
| 171 | + | |
187 | 172 | | |
188 | 173 | | |
189 | 174 | | |
| |||
201 | 186 | | |
202 | 187 | | |
203 | 188 | | |
204 | | - | |
205 | | - | |
206 | 189 | | |
207 | 190 | | |
208 | | - | |
209 | | - | |
| 191 | + | |
210 | 192 | | |
211 | 193 | | |
212 | 194 | | |
| |||
224 | 206 | | |
225 | 207 | | |
226 | 208 | | |
227 | | - | |
228 | | - | |
229 | 209 | | |
230 | 210 | | |
231 | | - | |
232 | | - | |
| 211 | + | |
233 | 212 | | |
234 | 213 | | |
235 | 214 | | |
| |||
247 | 226 | | |
248 | 227 | | |
249 | 228 | | |
250 | | - | |
251 | | - | |
252 | 229 | | |
253 | 230 | | |
254 | | - | |
255 | | - | |
| 231 | + | |
256 | 232 | | |
257 | 233 | | |
258 | 234 | | |
| |||
270 | 246 | | |
271 | 247 | | |
272 | 248 | | |
273 | | - | |
274 | | - | |
275 | 249 | | |
276 | 250 | | |
277 | | - | |
278 | | - | |
| 251 | + | |
279 | 252 | | |
280 | 253 | | |
281 | 254 | | |
| |||
293 | 266 | | |
294 | 267 | | |
295 | 268 | | |
296 | | - | |
297 | | - | |
298 | 269 | | |
299 | 270 | | |
300 | | - | |
301 | | - | |
| 271 | + | |
302 | 272 | | |
303 | 273 | | |
304 | 274 | | |
| |||
0 commit comments