Commit fc92d7f
cfg_simplify: Don't accidentally consider
This addresses a bug in #54216, where a `GotoIfNot` was accidentally considered
a throwing terminator. Just as I was about to PR this, I noticed that #54260
had already been opened for the same issue. However, there's three differences
in this PR that made me open it anyway:
1. There's an additional missing case where the terminator is `nothing` which
has special case semantics of allowing any type on it, because it serves as
a deletion marker.
2. My test also test the `EnterNode` and `:leave` terminators, just to have a
complete sampling.
3. I like the code flow in this version slightly better.
Co-authored-by: Cody Tapscott <cody.tapscott@juliahub.com>GotoIfNot a throwing terminator1 parent aeac289 commit fc92d7f
File tree
3 files changed
+55
-7
lines changed- base/compiler/ssair
- test/compiler
3 files changed
+55
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
325 | 325 | | |
326 | 326 | | |
327 | 327 | | |
328 | | - | |
| 328 | + | |
329 | 329 | | |
330 | 330 | | |
331 | 331 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2341 | 2341 | | |
2342 | 2342 | | |
2343 | 2343 | | |
2344 | | - | |
2345 | | - | |
2346 | | - | |
2347 | | - | |
2348 | | - | |
2349 | | - | |
| 2344 | + | |
| 2345 | + | |
2350 | 2346 | | |
2351 | 2347 | | |
2352 | 2348 | | |
| |||
2355 | 2351 | | |
2356 | 2352 | | |
2357 | 2353 | | |
| 2354 | + | |
| 2355 | + | |
| 2356 | + | |
| 2357 | + | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
| 2361 | + | |
| 2362 | + | |
| 2363 | + | |
| 2364 | + | |
| 2365 | + | |
| 2366 | + | |
| 2367 | + | |
2358 | 2368 | | |
2359 | 2369 | | |
2360 | 2370 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1911 | 1911 | | |
1912 | 1912 | | |
1913 | 1913 | | |
| 1914 | + | |
| 1915 | + | |
| 1916 | + | |
| 1917 | + | |
| 1918 | + | |
| 1919 | + | |
| 1920 | + | |
| 1921 | + | |
| 1922 | + | |
| 1923 | + | |
| 1924 | + | |
| 1925 | + | |
| 1926 | + | |
| 1927 | + | |
| 1928 | + | |
| 1929 | + | |
| 1930 | + | |
| 1931 | + | |
| 1932 | + | |
| 1933 | + | |
| 1934 | + | |
| 1935 | + | |
| 1936 | + | |
| 1937 | + | |
| 1938 | + | |
| 1939 | + | |
| 1940 | + | |
| 1941 | + | |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
| 1945 | + | |
| 1946 | + | |
| 1947 | + | |
| 1948 | + | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
0 commit comments