From 570dc1b7e03ae1df3a2e87d365d5121e49d8f595 Mon Sep 17 00:00:00 2001 From: Yichao Yu Date: Sat, 5 Sep 2020 14:19:26 -0400 Subject: [PATCH] Fix Dict key check in type inference This has been there since #27126 (9100329d189b3d2ac6d1e03bfc7431cbe8d18c00) Dudging by the use of `reverse_mapping[stmt_val]` below this should either be a branch condition or an assert. --- base/compiler/ssair/passes.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/base/compiler/ssair/passes.jl b/base/compiler/ssair/passes.jl index 89c2b058bf0a7..718ae569bb89d 100644 --- a/base/compiler/ssair/passes.jl +++ b/base/compiler/ssair/passes.jl @@ -515,8 +515,7 @@ function perform_lifting!(compact::IncrementalCompact, if stmt_val in keys(lifted_leaves) stmt_val = lifted_leaves[stmt_val] - else - isa(stmt_val, Union{SSAValue, OldSSAValue}) && stmt_val in keys(reverse_mapping) + elseif isa(stmt_val, Union{NewSSAValue, SSAValue, OldSSAValue}) && stmt_val in keys(reverse_mapping) stmt_val = RefValue{Any}(lifted_phis[reverse_mapping[stmt_val]].ssa) end