forked from JuliaLang/julia
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
inference: parameterize some of hard-coded inference logic (JuliaLang…
…#39439) This commit parameterizes some of hard-coded inference logic: - to bail out from inference when a lattice element can't be refined or a current inference frame is proven to throw or to be dead - to add call backedges when the call return type won't be refined Those `AbstractInterpreter`s used for code optimization (including `NativeInterpreter`) usually just want the methods defined for `AbstractInterpreter`, but some other `AbstractInterpreter` may want other implementations and heuristics to control inference process. For example, [`JETInterpreter`](https://github.com/aviatesk/JET.jl) is used for code analysis and wants to add call backedges even when a call return type is `Any`.
- Loading branch information
1 parent
e857585
commit 63d679c
Showing
2 changed files
with
53 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters