@@ -29,7 +29,7 @@ import ._TOP_MOD: # Base definitions
2929import Core. Compiler: # Core.Compiler specific definitions
3030 isbitstype, isexpr, is_meta_expr_head, println,
3131 IRCode, IR_FLAG_EFFECT_FREE, widenconst, argextype, singleton_type, fieldcount_noerror,
32- try_compute_field, try_compute_fieldidx, hasintersect, ⊑ as ⊑ ₜ , intrinsic_nothrow,
32+ try_compute_field, try_compute_fieldidx, hasintersect, ⊑ , intrinsic_nothrow,
3333 array_builtin_common_typecheck, arrayset_typecheck, setfield!_nothrow, alloc_array_ndims
3434
3535if _TOP_MOD != = Core. Compiler
@@ -184,14 +184,14 @@ AllEscape() = EscapeInfo(true, true, TOP_THROWN_ESCAPE, TOP_ALIAS_INFO, TOP_LIVE
184184
185185const ⊥, ⊤ = NotAnalyzed (), AllEscape ()
186186
187- # Convenience names for some ⊑ queries
187+ # Convenience names for some ⊑ₑ queries
188188has_no_escape (x:: EscapeInfo ) = ! x. ReturnEscape && isempty (x. ThrownEscape) && 0 ∉ x. Liveness
189189has_arg_escape (x:: EscapeInfo ) = 0 in x. Liveness
190190has_return_escape (x:: EscapeInfo ) = x. ReturnEscape
191191has_return_escape (x:: EscapeInfo , pc:: Int ) = x. ReturnEscape && pc in x. Liveness
192192has_thrown_escape (x:: EscapeInfo ) = ! isempty (x. ThrownEscape)
193193has_thrown_escape (x:: EscapeInfo , pc:: Int ) = pc in x. ThrownEscape
194- has_all_escape (x:: EscapeInfo ) = ⊤ ⊑ x
194+ has_all_escape (x:: EscapeInfo ) = ⊤ ⊑ ₑ x
195195
196196# utility lattice constructors
197197ignore_argescape (x:: EscapeInfo ) = EscapeInfo (x; Liveness= delete! (copy (x. Liveness), 0 ))
@@ -241,11 +241,11 @@ x::EscapeInfo == y::EscapeInfo = begin
241241end
242242
243243"""
244- x::EscapeInfo ⊑ y::EscapeInfo -> Bool
244+ x::EscapeInfo ⊑ₑ y::EscapeInfo -> Bool
245245
246246The non-strict partial order over `EscapeInfo`.
247247"""
248- x:: EscapeInfo ⊑ y:: EscapeInfo = begin
248+ x:: EscapeInfo ⊑ ₑ y:: EscapeInfo = begin
249249 # fast pass: better to avoid top comparison
250250 if y === ⊤
251251 return true
@@ -324,27 +324,27 @@ x::EscapeInfo ⊑ y::EscapeInfo = begin
324324end
325325
326326"""
327- x::EscapeInfo ⊏ y::EscapeInfo -> Bool
327+ x::EscapeInfo ⊏ₑ y::EscapeInfo -> Bool
328328
329329The strict partial order over `EscapeInfo`.
330- This is defined as the irreflexive kernel of `⊏`.
330+ This is defined as the irreflexive kernel of `⊏ₑ `.
331331"""
332- x:: EscapeInfo ⊏ y:: EscapeInfo = x ⊑ y && ! (y ⊑ x)
332+ x:: EscapeInfo ⊏ ₑ y:: EscapeInfo = x ⊑ ₑ y && ! (y ⊑ ₑ x)
333333
334334"""
335- x::EscapeInfo ⋤ y::EscapeInfo -> Bool
335+ x::EscapeInfo ⋤ₑ y::EscapeInfo -> Bool
336336
337- This order could be used as a slightly more efficient version of the strict order `⊏`,
338- where we can safely assume `x ⊑ y` holds.
337+ This order could be used as a slightly more efficient version of the strict order `⊏ₑ `,
338+ where we can safely assume `x ⊑ₑ y` holds.
339339"""
340- x:: EscapeInfo ⋤ y:: EscapeInfo = ! (y ⊑ x)
340+ x:: EscapeInfo ⋤ ₑ y:: EscapeInfo = ! (y ⊑ ₑ x)
341341
342342"""
343- x::EscapeInfo ⊔ y::EscapeInfo -> EscapeInfo
343+ x::EscapeInfo ⊔ₑ y::EscapeInfo -> EscapeInfo
344344
345345Computes the join of `x` and `y` in the partial order defined by `EscapeInfo`.
346346"""
347- x:: EscapeInfo ⊔ y:: EscapeInfo = begin
347+ x:: EscapeInfo ⊔ ₑ y:: EscapeInfo = begin
348348 # fast pass: better to avoid top join
349349 if x === ⊤ || y === ⊤
350350 return ⊤
@@ -756,7 +756,7 @@ function propagate_changes!(estate::EscapeState, changes::Changes)
756756end
757757
758758@inline propagate_escape_change! (estate:: EscapeState , change:: EscapeChange ) =
759- propagate_escape_change! (⊔ , estate, change)
759+ propagate_escape_change! (⊔ ₑ , estate, change)
760760
761761# allows this to work as lattice join as well as lattice meet
762762@inline function propagate_escape_change! (@specialize (op),
811811 union! (estate. aliasset, xroot, yroot)
812812 xinfo = estate. escapes[xidx]
813813 yinfo = estate. escapes[yidx]
814- xyinfo = xinfo ⊔ yinfo
814+ xyinfo = xinfo ⊔ ₑ yinfo
815815 estate. escapes[xidx] = xyinfo
816816 estate. escapes[yidx] = xyinfo
817817 return true
@@ -1670,9 +1670,9 @@ end
16701670
16711671function arraysize_typecheck (@nospecialize (ary), @nospecialize (dim), ir:: IRCode )
16721672 aryt = argextype (ary, ir)
1673- aryt ⊑ ₜ Array || return false
1673+ aryt ⊑ Array || return false
16741674 dimt = argextype (dim, ir)
1675- dimt ⊑ ₜ Int || return false
1675+ dimt ⊑ Int || return false
16761676 return true
16771677end
16781678
@@ -1697,11 +1697,11 @@ function escape_array_resize!(boundserror::Bool, ninds::Int,
16971697 length (args) ≥ 6 + ninds || return add_fallback_changes! (astate, pc, args)
16981698 ary = args[6 ]
16991699 aryt = argextype (ary, astate. ir)
1700- aryt ⊑ ₜ Array || return add_fallback_changes! (astate, pc, args)
1700+ aryt ⊑ Array || return add_fallback_changes! (astate, pc, args)
17011701 for i in 1 : ninds
17021702 ind = args[i+ 6 ]
17031703 indt = argextype (ind, astate. ir)
1704- indt ⊑ ₜ Integer || return add_fallback_changes! (astate, pc, args)
1704+ indt ⊑ Integer || return add_fallback_changes! (astate, pc, args)
17051705 end
17061706 if boundserror
17071707 # this array resizing can potentially throw `BoundsError`, impose it now
@@ -1729,7 +1729,7 @@ function escape_array_copy!(astate::AnalysisState, pc::Int, args::Vector{Any})
17291729 length (args) ≥ 6 || return add_fallback_changes! (astate, pc, args)
17301730 ary = args[6 ]
17311731 aryt = argextype (ary, astate. ir)
1732- aryt ⊑ ₜ Array || return add_fallback_changes! (astate, pc, args)
1732+ aryt ⊑ Array || return add_fallback_changes! (astate, pc, args)
17331733 if isa (ary, SSAValue) || isa (ary, Argument)
17341734 newary = SSAValue (pc)
17351735 aryinfo = astate. estate[ary]
@@ -1756,9 +1756,9 @@ function array_isassigned_nothrow(args::Vector{Any}, src::IRCode)
17561756 # end
17571757 length (args) ≥ 7 || return false
17581758 arytype = argextype (args[6 ], src)
1759- arytype ⊑ ₜ Array || return false
1759+ arytype ⊑ Array || return false
17601760 idxtype = argextype (args[7 ], src)
1761- idxtype ⊑ ₜ Csize_t || return false
1761+ idxtype ⊑ Csize_t || return false
17621762 return true
17631763end
17641764
@@ -1787,7 +1787,7 @@ escape_builtin!(::typeof(arraythaw), astate::AnalysisState, pc::Int, args::Vecto
17871787 is_safe_immutable_array_op (ImmutableArray, astate, args)
17881788function is_safe_immutable_array_op (@nospecialize (arytype), astate:: AnalysisState , args:: Vector{Any} )
17891789 length (args) == 2 || return false
1790- argextype (args[2 ], astate. ir) ⊑ ₜ arytype || return false
1790+ argextype (args[2 ], astate. ir) ⊑ arytype || return false
17911791 return true
17921792end
17931793
0 commit comments