@@ -330,7 +330,7 @@ function ir_inline_item!(compact::IncrementalCompact, idx::Int, argexprs::Vector
330330 push! (linetable, newentry)
331331 end
332332 if coverage && spec. ir. stmts[1 ][:line ] + linetable_offset != topline
333- insert_node_here! (compact, NewInstruction (Expr (:code_coverage_effect ), Nothing , topline))
333+ insert_node_here! (compact, NewInstruction (Expr (:code_coverage_effect ), LNothing , topline))
334334 end
335335 if def. isva
336336 nargs_def = Int (def. nargs:: Int32 )
@@ -400,7 +400,7 @@ function ir_inline_item!(compact::IncrementalCompact, idx::Int, argexprs::Vector
400400 inline_compact. result[idx′][:type ] =
401401 argextype (val, isa (val, Expr) ? compact : inline_compact)
402402 insert_node_here! (inline_compact, NewInstruction (GotoNode (post_bb_id),
403- Any , compact. result[idx′][:line ]),
403+ ⊤ , compact. result[idx′][:line ]),
404404 true )
405405 push! (pn. values, SSAValue (idx′))
406406 else
@@ -446,11 +446,11 @@ function fix_va_argexprs!(compact::IncrementalCompact,
446446 push! (newargexprs, argexprs[i])
447447 end
448448 tuple_call = Expr (:call , TOP_TUPLE)
449- tuple_typs = Any []
449+ tuple_typs = LatticeElement []
450450 for i in nargs_def: length (argexprs)
451451 arg = argexprs[i]
452452 push! (tuple_call. args, arg)
453- push! (tuple_typs, unwraptype ( argextype (arg, compact) ))
453+ push! (tuple_typs, argextype (arg, compact))
454454 end
455455 tuple_typ = tuple_tfunc (tuple_typs)
456456 push! (newargexprs, insert_node_here! (compact, NewInstruction (tuple_call, tuple_typ, line_idx)))
@@ -483,15 +483,15 @@ function ir_inline_unionsplit!(compact::IncrementalCompact, idx::Int,
483483 a <: m && continue
484484 # Generate isa check
485485 isa_expr = Expr (:call , isa, argexprs[i], m)
486- ssa = insert_node_here! (compact, NewInstruction (isa_expr, Bool , line))
486+ ssa = insert_node_here! (compact, NewInstruction (isa_expr, LBool , line))
487487 if cond === true
488488 cond = ssa
489489 else
490490 and_expr = Expr (:call , and_int, cond, ssa)
491- cond = insert_node_here! (compact, NewInstruction (and_expr, Bool , line))
491+ cond = insert_node_here! (compact, NewInstruction (and_expr, LBool , line))
492492 end
493493 end
494- insert_node_here! (compact, NewInstruction (GotoIfNot (cond, next_cond_bb), Union{} , line))
494+ insert_node_here! (compact, NewInstruction (GotoIfNot (cond, next_cond_bb), ⊥ , line))
495495 bb = next_cond_bb - 1
496496 finish_current_bb! (compact, 0 )
497497 argexprs′ = argexprs
@@ -503,7 +503,7 @@ function ir_inline_unionsplit!(compact::IncrementalCompact, idx::Int,
503503 a, m = aparams[i], mparams[i]
504504 if ! (a <: m )
505505 argexprs′[i] = insert_node_here! (compact,
506- NewInstruction (PiNode (argex, m), m , line))
506+ NewInstruction (PiNode (argex, m), NativeType (m) , line))
507507 end
508508 end
509509 end
@@ -520,25 +520,25 @@ function ir_inline_unionsplit!(compact::IncrementalCompact, idx::Int,
520520 push! (pn. edges, bb)
521521 push! (pn. values, val)
522522 insert_node_here! (compact,
523- NewInstruction (GotoNode (join_bb), Union{} , line))
523+ NewInstruction (GotoNode (join_bb), ⊥ , line))
524524 else
525525 insert_node_here! (compact,
526- NewInstruction (ReturnNode (), Union{} , line))
526+ NewInstruction (ReturnNode (), ⊥ , line))
527527 end
528528 finish_current_bb! (compact, 0 )
529529 end
530530 bb += 1
531531 # We're now in the fall through block, decide what to do
532532 if fully_covered
533533 e = Expr (:call , GlobalRef (Core, :throw ), FATAL_TYPE_BOUND_ERROR)
534- insert_node_here! (compact, NewInstruction (e, Union{} , line))
535- insert_node_here! (compact, NewInstruction (ReturnNode (), Union{} , line))
534+ insert_node_here! (compact, NewInstruction (e, ⊥ , line))
535+ insert_node_here! (compact, NewInstruction (ReturnNode (), ⊥ , line))
536536 finish_current_bb! (compact, 0 )
537537 else
538538 ssa = insert_node_here! (compact, NewInstruction (stmt, typ, line))
539539 push! (pn. edges, bb)
540540 push! (pn. values, ssa)
541- insert_node_here! (compact, NewInstruction (GotoNode (join_bb), Union{} , line))
541+ insert_node_here! (compact, NewInstruction (GotoNode (join_bb), ⊥ , line))
542542 finish_current_bb! (compact, 0 )
543543 end
544544
@@ -702,15 +702,15 @@ function rewrite_apply_exprargs!(
702702 new_sig, istate, todo)
703703 end
704704 if i != length (thisarginfo. each)
705- valT = getfield_tfunc (unwraptype (call. rt), Const (1 ))
705+ valT = LatticeElement ( getfield_tfunc (unwraptype (call. rt), Const (1 ) ))
706706 val_extracted = insert_node! (ir, idx, NewInstruction (
707707 Expr (:call , GlobalRef (Core, :getfield ), state1, 1 ),
708708 valT))
709709 push! (new_argexprs, val_extracted)
710- push! (new_argtypes, LatticeElement ( valT) )
710+ push! (new_argtypes, valT)
711711 state_extracted = insert_node! (ir, idx, NewInstruction (
712712 Expr (:call , GlobalRef (Core, :getfield ), state1, 2 ),
713- getfield_tfunc (unwraptype (call. rt), Const (2 ))))
713+ LatticeElement ( getfield_tfunc (unwraptype (call. rt), Const (2 ) ))))
714714 state = Core. svec (state_extracted)
715715 end
716716 end
@@ -907,7 +907,7 @@ function inline_splatnew!(ir::IRCode, idx::Int, stmt::Expr, rt::LatticeElement)
907907 n = constant (tnf):: Int
908908 new_argexprs = Any[eargs[1 ]]
909909 for j = 1 : n
910- atype = getfield_tfunc (unwraptype (tt), Const (j))
910+ atype = LatticeElement ( getfield_tfunc (unwraptype (tt), Const (j) ))
911911 new_call = Expr (:call , Core. getfield, tup, j)
912912 new_argexpr = insert_node! (ir, idx, NewInstruction (new_call, atype))
913913 push! (new_argexprs, new_argexpr)
@@ -1045,8 +1045,8 @@ function narrow_opaque_closure!(ir::IRCode, stmt::Expr, @nospecialize(info), sta
10451045 ub, exact = instanceof_tfunc (unwraptype (ubt))
10461046 exact || return
10471047 # Narrow opaque closure type
1048- newT = widenconst (tmeet ( tmerge (lb, info. unspec. rt), ub) )
1049- if newT != ub
1048+ newT = widenconst (tmerge (lb, info. unspec. rt) ⊓ ub )
1049+ if newT != = ub
10501050 # N.B.: Narrowing the ub requires a backdge on the mi whose type
10511051 # information we're using, since a change in that function may
10521052 # invalidate ub result.
@@ -1436,7 +1436,7 @@ function late_inline_special_case!(
14361436 return SomeCase (quoted (constant (type)))
14371437 end
14381438 cmp_call = Expr (:call , GlobalRef (Core, :(=== )), stmt. args[2 ], stmt. args[3 ])
1439- cmp_call_ssa = insert_node! (ir, idx, effect_free (NewInstruction (cmp_call, Bool )))
1439+ cmp_call_ssa = insert_node! (ir, idx, effect_free (NewInstruction (cmp_call, LBool )))
14401440 not_call = Expr (:call , GlobalRef (Core. Intrinsics, :not_int ), cmp_call_ssa)
14411441 return SomeCase (not_call)
14421442 elseif isinlining && length (argtypes) == 3 && istopfunction (f, :(> :))
0 commit comments