diff --git a/base/compiler/ssair/ir.jl b/base/compiler/ssair/ir.jl index 0f86945b15b88..5a5d98ac4539c 100644 --- a/base/compiler/ssair/ir.jl +++ b/base/compiler/ssair/ir.jl @@ -1244,7 +1244,6 @@ function process_node!(compact::IncrementalCompact, result_idx::Int, inst::Instr ssa_rename[idx] = stmt else result[result_idx][:inst] = stmt - result[result_idx][:type] = argextype(stmt, compact) result[result_idx][:flag] = flag result_idx += 1 end diff --git a/base/compiler/ssair/irinterp.jl b/base/compiler/ssair/irinterp.jl index 717a4eec102c2..ab513d3fd18ec 100644 --- a/base/compiler/ssair/irinterp.jl +++ b/base/compiler/ssair/irinterp.jl @@ -253,6 +253,8 @@ function reprocess_instruction!(interp::AbstractInterpreter, rt = tmeet(typeinf_lattice(interp), argextype(inst.val, ir), widenconst(inst.typ)) elseif inst === nothing return false + elseif isa(inst, GlobalRef) + # GlobalRef is not refinable else ccall(:jl_, Cvoid, (Any,), inst) error()