Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
lattice: Restore
tmerge_fast_path
for optimizer lattice (JuliaLang#…
…50291) This function is slightly misnamed, because, while it does perform some fast pathing, the rest of the tmerge functions assume it has been run. When I removed the OptimizerLattice in JuliaLang#50257, we accidentally lost the call to `tmerge_fast_path` in the optimizer_lattice path, regressing tmerge quality in the optimizer (which admittedly we don't use a lot, but I did just add another use for in JuliaLang#50287). The proper fix is probably to split the tmerge into a helper that always calls the fast path and then delegates to the current implementation for everything else, but for now, just try moving the fast path to the start of the PartialsLattice, which should restore correctness and have reasonable performance, since there's only a handful of pointer checks between the entry to the inference tmerge and the partials lattice.
- Loading branch information