julia
c094a89b - effects: add `:inaccessiblememonly` effect (#46198)

Commit
3 years ago
effects: add `:inaccessiblememonly` effect (#46198) This is a preparatory PR for future improvements on the effects analysis. This commit adds the `:inaccessiblememonly` helper effect, that tracks if a method involves any access or modification on any mutable state. This effect property is basically same as LLVM's `inaccessiblememonly` function attribute, except that it only reasons about mutable memory. This effect property can be considered as a very limited and coarse version of escape analysis and allow us prove `:consistent`-cy or `:effect_free`-ness even in a presence of accesses or modifications on local mutable allocations in cases when we can prove they are local and don't escape. Separate PRs that actually improve the effect analysis accuracy will follow.
Author
Parents
Loading