Commit 7eb3d72
committed
[SCEV] Distinguish between full and wrapping AddRec in proveNoWrapViaCR.
Try to widen integer AddRecs to a type one bit wider to distinguish
between the AddRec wrapping or just hitting all possible values.
Alternative to llvm#131538.
Note that now we can end up in the awkward situation that we fail to
compute an unpredicated BTC on the first try, but succeed on the second
try, because we now have a accurate max BTC.
For now, I updated getPredicatedBackedgeTakencCount to remove cached BTC
if that happens, but perhaps there's a better solution?1 parent b30d531 commit 7eb3d72
File tree
6 files changed
+102
-81
lines changed- llvm
- lib/Analysis
- test
- Analysis/ScalarEvolution
- Transforms/LoopUnrollAndJam
6 files changed
+102
-81
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5092 | 5092 | | |
5093 | 5093 | | |
5094 | 5094 | | |
5095 | | - | |
5096 | | - | |
5097 | | - | |
| 5095 | + | |
| 5096 | + | |
| 5097 | + | |
| 5098 | + | |
| 5099 | + | |
| 5100 | + | |
| 5101 | + | |
| 5102 | + | |
| 5103 | + | |
| 5104 | + | |
| 5105 | + | |
| 5106 | + | |
| 5107 | + | |
| 5108 | + | |
| 5109 | + | |
| 5110 | + | |
| 5111 | + | |
| 5112 | + | |
| 5113 | + | |
| 5114 | + | |
| 5115 | + | |
| 5116 | + | |
| 5117 | + | |
5098 | 5118 | | |
5099 | 5119 | | |
5100 | 5120 | | |
| |||
8336 | 8356 | | |
8337 | 8357 | | |
8338 | 8358 | | |
8339 | | - | |
| 8359 | + | |
| 8360 | + | |
| 8361 | + | |
| 8362 | + | |
| 8363 | + | |
| 8364 | + | |
| 8365 | + | |
8340 | 8366 | | |
8341 | 8367 | | |
8342 | 8368 | | |
| |||
13858 | 13884 | | |
13859 | 13885 | | |
13860 | 13886 | | |
13861 | | - | |
| 13887 | + | |
| 13888 | + | |
13862 | 13889 | | |
13863 | 13890 | | |
13864 | 13891 | | |
| |||
13877 | 13904 | | |
13878 | 13905 | | |
13879 | 13906 | | |
13880 | | - | |
| 13907 | + | |
| 13908 | + | |
13881 | 13909 | | |
13882 | 13910 | | |
13883 | 13911 | | |
| |||
13897 | 13925 | | |
13898 | 13926 | | |
13899 | 13927 | | |
13900 | | - | |
| 13928 | + | |
| 13929 | + | |
13901 | 13930 | | |
13902 | 13931 | | |
13903 | 13932 | | |
| |||
Lines changed: 2 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
153 | 153 | | |
154 | 154 | | |
155 | 155 | | |
156 | | - | |
157 | 156 | | |
158 | 157 | | |
159 | 158 | | |
160 | 159 | | |
161 | 160 | | |
162 | 161 | | |
163 | 162 | | |
164 | | - | |
165 | 163 | | |
166 | 164 | | |
167 | 165 | | |
168 | 166 | | |
169 | | - | |
170 | 167 | | |
171 | 168 | | |
172 | | - | |
173 | 169 | | |
174 | 170 | | |
175 | | - | |
| 171 | + | |
176 | 172 | | |
177 | 173 | | |
178 | 174 | | |
| |||
198 | 194 | | |
199 | 195 | | |
200 | 196 | | |
201 | | - | |
202 | 197 | | |
203 | 198 | | |
204 | 199 | | |
205 | 200 | | |
206 | 201 | | |
207 | 202 | | |
208 | 203 | | |
209 | | - | |
210 | 204 | | |
211 | 205 | | |
212 | 206 | | |
213 | 207 | | |
214 | | - | |
215 | 208 | | |
216 | 209 | | |
217 | | - | |
218 | 210 | | |
219 | 211 | | |
220 | | - | |
| 212 | + | |
221 | 213 | | |
222 | 214 | | |
223 | 215 | | |
| |||
0 commit comments