Revision f4a3918be14f5887b2594848cd725ce18182e55c authored by Elliot Saba on 19 February 2024, 19:02:04 UTC, committed by Elliot Saba on 20 February 2024, 17:25:13 UTC
When we replace a Phi node in `acde_pass!()` due to being able to prove that
one path is always taken, we should request that downstream optimization
passes refine the type of this Phi node in the event that the type of
the replacing value does not match the type of the Phi node itself.

Ideally, we would have a stricter check here, that the type of the
replacing value is _more narrow_ than the type of the Phi node, however
this is happening inside of `compact!()` which does not have access to
whatever custom lattice these IR statements were inferred with, and thus
can result in issues when the types provided in the IR do not exist
within the default fallback lattice.

Add a test asserting that the `IR_FLAG_REFINED` flag is added
appropriately.
1 parent fbc766a
History
File Mode Size
.devcontainer
.github
base
cli
contrib
deps
doc
etc
src
stdlib
test
.buildkite-external-version -rw-r--r-- 5 bytes
.clang-format -rw-r--r-- 3.3 KB
.clangd -rw-r--r-- 114 bytes
.codecov.yml -rw-r--r-- 52 bytes
.git-blame-ignore-revs -rw-r--r-- 371 bytes
.gitattributes -rw-r--r-- 65 bytes
.gitignore -rw-r--r-- 571 bytes
.mailmap -rw-r--r-- 12.7 KB
CITATION.bib -rw-r--r-- 513 bytes
CITATION.cff -rw-r--r-- 940 bytes
CONTRIBUTING.md -rw-r--r-- 23.4 KB
HISTORY.md -rw-r--r-- 388.3 KB
LICENSE.md -rw-r--r-- 1.3 KB
Make.inc -rw-r--r-- 56.1 KB
Makefile -rw-r--r-- 30.2 KB
NEWS.md -rw-r--r-- 1.0 KB
README.md -rw-r--r-- 7.4 KB
THIRDPARTY.md -rw-r--r-- 3.9 KB
VERSION -rw-r--r-- 11 bytes
julia.spdx.json -rw-r--r-- 37.8 KB
pkgimage.mk -rw-r--r-- 7.1 KB
sysimage.mk -rw-r--r-- 4.2 KB
typos.toml -rw-r--r-- 78 bytes

README.md

back to top