Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
optimize: Handle path-excluded
Core.ifelse
arguments
It's possible for PiNodes to effectively imply statically the condition of a Core.ifelse. For example: ```julia 23 ─ %60 = Core.ifelse(%47, false, true)::Bool │ %61 = Core.ifelse(%47, %58, false)::Union{Missing, Bool} 25 ─ goto JuliaLang#27 if not %60 26 ─ %65 = π (%61, Bool) └─── ... ``` In basic block JuliaLang#26, the PiNode gives us enough information to conclude that `%47 === false` if control flow reaches that point. The previous code incorrectly assumed that this kind of pruning would only be done for PhiNodes. Resolves JuliaLang#50276.
- Loading branch information