Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor inference.jl into multiple files for readability/maintainabi…
…lity (JuliaLang#25517) - the contents of `coreimg.jl`, `inference.jl` and `codevalidation.jl` now live in `base/compiler/` - `Core.Inference` --> `Core.Compiler`, and `Core.InferenceParams` --> `Core.Compiler.Params`, since these refer to more than just type inference at this point - Constants/structs now mostly appear in the file in which they are first used. Non-business logic methods acting on freshly-defined structs are now defined alongside the structs themselves. Non-business logic methods which don't depend on new structs are now in `utilities.jl`. - All non-alias `const` names are now all-caps. Type alias `const`s are camelcase, and function alias `const`s are lowercase. - Inference logic is split into several files (`abstractinterpretation.jl`, `typelattice.jl`, `typeinf.jl`, etc.) - All the tfunc definitions now reside in their own file. - Optimization logic (inlining, DCE, etc.) hasn't been broken up at all yet; it is now in `optimize.jl`. A future PR will be required to break it up. - No semantic changes, at least not on purpose.
- Loading branch information