Commit a488438
committed
[IR][JumpThreading] Fix infinite recursion on compare self-reference
In unreachable code, constant PHI nodes may appear and be replaced by
their single value. As a result, instructions may become
self-referencing. This commit adds checks to avoid going into infinite
recursion when handling self-referencing compare instructions in
`evaluateOnPredecessorEdge()`.1 parent 9fe2146 commit a488438
File tree
2 files changed
+65
-2
lines changed- llvm
- lib/Transforms/Scalar
- test/Transforms/JumpThreading
2 files changed
+65
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1519 | 1519 | | |
1520 | 1520 | | |
1521 | 1521 | | |
| 1522 | + | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
1522 | 1526 | | |
1523 | 1527 | | |
1524 | | - | |
| 1528 | + | |
1525 | 1529 | | |
1526 | | - | |
| 1530 | + | |
1527 | 1531 | | |
1528 | 1532 | | |
1529 | 1533 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
183 | 242 | | |
0 commit comments