Revision 035d17a499c6aa965c9f5504a66a9e725d242e82 authored by Cody Tapscott on 07 March 2024, 16:16:26 UTC, committed by GitHub on 07 March 2024, 16:16:26 UTC
This is a partial back-port of #50924, where we discovered that the
optimizer would ignore:
  1. must-throw `%XX = SlotNumber(_)` statements
  2. must-throw `goto #bb if not %x` statements


This is mostly harmless, except that in the case of (1) we can
accidentally fall through the statically deleted (`Const()`-wrapped)
code from inference and end up observing a control-flow edge that never
existed.

If the spurious edge is to a catch block, then the edge is invalid
semantically and breaks our SSA conversion.

This one-line change fixes (1) but not (2), which is enough for IR
validity.

Resolves part of https://github.com/JuliaLang/julia/issues/53366.
2 parent s 72fed47 + fc7a881
History
File Mode Size
man
src
.gitignore -rw-r--r-- 55 bytes
Makefile -rw-r--r-- 2.1 KB
Manifest.toml -rw-r--r-- 2.6 KB
NEWS-update.jl -rw-r--r-- 486 bytes
Project.toml -rw-r--r-- 59 bytes
README.md -rw-r--r-- 900 bytes
make.jl -rw-r--r-- 13.4 KB

README.md

back to top