Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IR verification failed in debug build (NotFound-related?) #46147

Open
timholy opened this issue Jul 23, 2022 · 0 comments
Open

IR verification failed in debug build (NotFound-related?) #46147

timholy opened this issue Jul 23, 2022 · 0 comments
Labels
compiler:inference Type inference

Comments

@timholy
Copy link
Member

timholy commented Jul 23, 2022

This is likely related to #46064, although it is possible that the core cause of each example is different. The following debug diff to capture any frames for which _typeinf fails:

diff --git a/base/compiler/typeinfer.jl b/base/compiler/typeinfer.jl
index 0e3aa1d28a..d32702dd48 100644
--- a/base/compiler/typeinfer.jl
+++ b/base/compiler/typeinfer.jl
@@ -203,14 +203,20 @@ __set_measure_typeinf(onoff::Bool) = __measure_typeinf__[] = onoff
 const __measure_typeinf__ = fill(false)
 
 # Wrapper around _typeinf that optionally records the exclusive time for each invocation.
+const junk = []
 function typeinf(interp::AbstractInterpreter, frame::InferenceState)
     if __measure_typeinf__[]
         Timings.enter_new_timer(frame)
+        push!(junk, frame)
         v = _typeinf(interp, frame)
+        pop!(junk)
         Timings.exit_current_timer(frame)
         return v
     else
-        return _typeinf(interp, frame)
+        push!(junk, frame)
+        v = _typeinf(interp, frame)
+        pop!(junk)
+        return v
     end
 end

yield the following InferenceStates:

tim@diva:~/.julia/dev/LLVMExtra_jll/.pkg$ ~/src/julia-master/julia --startup=no
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.9.0-DEV.1027 (2022-07-21)
 _/ |\__'_|_|_|\__'_|  |  teh/invokedTypes_squash/c610c970ce* (fork: 6 commits, 2 days)
|__/                   |

julia> include("select_artifacts.jl")
Expr not allowed in value position
Internal error: encountered unexpected error in runtime:
ErrorException("")
error at ./error.jl:35
check_op at ./compiler/ssair/verify.jl:52
verify_ir at ./compiler/ssair/verify.jl:243
verify_ir at ./compiler/ssair/verify.jl:79 [inlined]
run_passes at ./compiler/optimize.jl:590
run_passes at ./compiler/optimize.jl:576 [inlined]
optimize at ./compiler/optimize.jl:525 [inlined]
_typeinf at ./compiler/typeinfer.jl:263
typeinf at ./compiler/typeinfer.jl:217
typeinf_edge at ./compiler/typeinfer.jl:917
abstract_call_method at ./compiler/abstractinterpretation.jl:605
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:166
abstract_call_known at ./compiler/abstractinterpretation.jl:1776
abstract_call at ./compiler/abstractinterpretation.jl:1845
abstract_call at ./compiler/abstractinterpretation.jl:1824
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1966
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2321
typeinf_local at ./compiler/abstractinterpretation.jl:2496
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2594
_typeinf at ./compiler/typeinfer.jl:236
typeinf at ./compiler/typeinfer.jl:217
typeinf_ext at ./compiler/typeinfer.jl:1041
typeinf_ext_toplevel at ./compiler/typeinfer.jl:1074
typeinf_ext_toplevel at ./compiler/typeinfer.jl:1070
jfptr_typeinf_ext_toplevel_15957 at /home/tim/src/julia-master/usr/lib/julia/sys-debug.so (unknown line)
_jl_invoke at /home/tim/src/julia-master/src/gf.c:2396
ijl_apply_generic at /home/tim/src/julia-master/src/gf.c:2597
jl_apply at /home/tim/src/julia-master/src/julia.h:1848
jl_type_infer at /home/tim/src/julia-master/src/gf.c:317
jl_generate_fptr_impl at /home/tim/src/julia-master/src/jitlayers.cpp:345
jl_compile_method_internal at /home/tim/src/julia-master/src/gf.c:2124
_jl_invoke at /home/tim/src/julia-master/src/gf.c:2407
ijl_apply_generic at /home/tim/src/julia-master/src/gf.c:2597
jl_apply at /home/tim/src/julia-master/src/julia.h:1848
do_call at /home/tim/src/julia-master/src/interpreter.c:126
eval_value at /home/tim/src/julia-master/src/interpreter.c:215
eval_stmt_value at /home/tim/src/julia-master/src/interpreter.c:166
eval_body at /home/tim/src/julia-master/src/interpreter.c:594
jl_interpret_toplevel_thunk at /home/tim/src/julia-master/src/interpreter.c:750
top-level scope at /home/tim/.julia/dev/LLVMExtra_jll/.pkg/select_artifacts.jl:11
jl_toplevel_eval_flex at /home/tim/src/julia-master/src/toplevel.c:912
jl_toplevel_eval_flex at /home/tim/src/julia-master/src/toplevel.c:856
ijl_toplevel_eval at /home/tim/src/julia-master/src/toplevel.c:921
ijl_toplevel_eval_in at /home/tim/src/julia-master/src/toplevel.c:971
eval at ./boot.jl:370 [inlined]
include_string at ./loading.jl:1488
jl_fptr_args at /home/tim/src/julia-master/src/gf.c:2171
_jl_invoke at /home/tim/src/julia-master/src/gf.c:2396
ijl_apply_generic at /home/tim/src/julia-master/src/gf.c:2597
_include at ./loading.jl:1548
include at ./client.jl:471
unknown function (ip: 0x7f51ccca5092)
_jl_invoke at /home/tim/src/julia-master/src/gf.c:2415
ijl_apply_generic at /home/tim/src/julia-master/src/gf.c:2597
jl_apply at /home/tim/src/julia-master/src/julia.h:1848
do_call at /home/tim/src/julia-master/src/interpreter.c:126
eval_value at /home/tim/src/julia-master/src/interpreter.c:215
eval_stmt_value at /home/tim/src/julia-master/src/interpreter.c:166
eval_body at /home/tim/src/julia-master/src/interpreter.c:594
jl_interpret_toplevel_thunk at /home/tim/src/julia-master/src/interpreter.c:750
top-level scope at REPL[1]:1
jl_toplevel_eval_flex at /home/tim/src/julia-master/src/toplevel.c:912
jl_toplevel_eval_flex at /home/tim/src/julia-master/src/toplevel.c:856
ijl_toplevel_eval at /home/tim/src/julia-master/src/toplevel.c:921
ijl_toplevel_eval_in at /home/tim/src/julia-master/src/toplevel.c:971
eval at ./boot.jl:370 [inlined]
eval_user_input at /home/tim/src/julia-master/usr/share/julia/stdlib/v1.9/REPL/src/REPL.jl:152
repl_backend_loop at /home/tim/src/julia-master/usr/share/julia/stdlib/v1.9/REPL/src/REPL.jl:248
#start_repl_backend#46 at /home/tim/src/julia-master/usr/share/julia/stdlib/v1.9/REPL/src/REPL.jl:233
start_repl_backend##kw at /home/tim/src/julia-master/usr/share/julia/stdlib/v1.9/REPL/src/REPL.jl:230 [inlined]
#run_repl#59 at /home/tim/src/julia-master/usr/share/julia/stdlib/v1.9/REPL/src/REPL.jl:372
run_repl at /home/tim/src/julia-master/usr/share/julia/stdlib/v1.9/REPL/src/REPL.jl:357
jfptr_run_repl_55837 at /home/tim/src/julia-master/usr/lib/julia/sys-debug.so (unknown line)
_jl_invoke at /home/tim/src/julia-master/src/gf.c:2396
ijl_apply_generic at /home/tim/src/julia-master/src/gf.c:2597
#991 at ./client.jl:414
jfptr_YY.991_29734 at /home/tim/src/julia-master/usr/lib/julia/sys-debug.so (unknown line)
_jl_invoke at /home/tim/src/julia-master/src/gf.c:2396
ijl_apply_generic at /home/tim/src/julia-master/src/gf.c:2597
jl_apply at /home/tim/src/julia-master/src/julia.h:1848
jl_f__call_latest at /home/tim/src/julia-master/src/builtins.c:774
run_main_repl at ./client.jl:398
exec_options at ./client.jl:315
_start at ./client.jl:515
jfptr__start_32912 at /home/tim/src/julia-master/usr/lib/julia/sys-debug.so (unknown line)
_jl_invoke at /home/tim/src/julia-master/src/gf.c:2396
ijl_apply_generic at /home/tim/src/julia-master/src/gf.c:2597
jl_apply at /home/tim/src/julia-master/src/julia.h:1848
true_main at /home/tim/src/julia-master/src/jlapi.c:567
jl_repl_entrypoint at /home/tim/src/julia-master/src/jlapi.c:711
jl_load_repl at /home/tim/src/julia-master/cli/loader_lib.c:277
main at /home/tim/src/julia-master/cli/loader_exe.c:59
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
_start at /home/tim/src/julia-master/julia (unknown line)
[LLVMExtra]
os = "linux"
arch = "x86_64"
git-tree-sha1 = "9723dd10f25f310e5d2c3f1113ef158db3aa89b2"
lazy = true
libc = "glibc"
cxxstring_abi = "cxx11"
llvm_version = "14"

    [[LLVMExtra.download]]
    sha256 = "bfe4f1b962f4c82a2aad1f67a828c0156722f46225a7ce2d7139de420d5697c3"
    url = "https://github.com/JuliaBinaryWrappers/LLVMExtra_jll.jl/releases/download/LLVMExtra-v0.0.16+0/LLVMExtra.v0.0.16.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz"

julia> Core.Compiler.junk[1]
Core.Compiler.InferenceState(MethodInstance for augment_platform!(::Platform), 0x00000000000077d0, Main, Any[], Any[Core.Const(augment_platform!), Platform], CodeInfo(
    @ /home/tim/.julia/dev/LLVMExtra_jll/.pkg/platform_augmentation.jl:24 within `augment_platform!`
1 ─ %1 = Main.augment_llvm!(platform)::Core.Compiler.NotFound()
└──      return %1
), 1	=>	
, 1, 1, Core.Compiler.BitSet(UInt64[0x0000000000000000], 0), [0, 0], Core.Compiler.BitSet[Core.Compiler.BitSet(UInt64[0x0000000000000004], 0), Core.Compiler.BitSet(UInt64[], -1152921504606846976)], Union{Nothing, Vector{Core.Compiler.VarState}}[Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_platform!), false), Core.Compiler.VarState(Platform, false)]], Any[Core.Compiler.NotFound(), Core.Compiler.NotFound()], Union{Nothing, Vector{Any}}[nothing, nothing], Any[nothing, nothing], Core.Compiler.IdSet{Core.Compiler.InferenceState}(Core.Compiler.IdDict{Core.Compiler.InferenceState, Nothing}(Any[#undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef  …  #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef], 0, 0)), Core.Compiler.IdSet{Core.Compiler.InferenceState}(Core.Compiler.IdDict{Core.Compiler.InferenceState, Nothing}(Any[#undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef  …  #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef], 0, 0)), Tuple{Core.Compiler.InferenceState, Int64}[], Core.Compiler.InferenceState[], true, nothing, false, augment_platform!(::Platform) => Union{}, Core.Compiler.WorldRange(0x00000000000077cf, 0x00000000000077d0), Union{}, (+c,+e,+n,+t,+s), Core.Compiler.InferenceParams(true, false, true, 3, 4, 8, 3, 32), false, true, Core.Compiler.NativeInterpreter(...))

julia> Core.Compiler.junk[2]
Core.Compiler.InferenceState(MethodInstance for augment_llvm!(::Platform), 0x00000000000077d0, Main, Any[], Any[Core.Const(augment_llvm!), Platform, Bool, VersionNumber, Bool, String], CodeInfo(
     @ /home/tim/.julia/dev/LLVMExtra_jll/.pkg/platform_augmentation.jl:4 within `augment_llvm!`
1 ──       Core.NewvarNode(:(llvm_assertions))::Any
│          Core.NewvarNode(:(llvm_version))::Any
│    %3  = Main.haskey(platform, "llvm_version")::Bool
└───       goto #3 if not %3
2 ──       return platform
     @ /home/tim/.julia/dev/LLVMExtra_jll/.pkg/platform_augmentation.jl:6 within `augment_llvm!`
3 ──       (llvm_version = Base.libllvm_version)::Core.Const(v"14.0.5")
     @ /home/tim/.julia/dev/LLVMExtra_jll/.pkg/platform_augmentation.jl:8 within `augment_llvm!`
4 ── %7  = $(Expr(:enter, #7))
     @ /home/tim/.julia/dev/LLVMExtra_jll/.pkg/platform_augmentation.jl:9 within `augment_llvm!`
5 ──       Main.cglobal(Core.tuple(:_ZN4llvm24DisableABIBreakingChecksE, Base.libllvm_path()), Main.Cvoid)::Ptr{Nothing}
│    @ /home/tim/.julia/dev/LLVMExtra_jll/.pkg/platform_augmentation.jl:10 within `augment_llvm!`
│          (@_5 = false)::Core.Const(false)
└───       $(Expr(:leave, 1))
6 ──       goto #9
7 ┄─       $(Expr(:leave, 1))
     @ /home/tim/.julia/dev/LLVMExtra_jll/.pkg/platform_augmentation.jl:12 within `augment_llvm!`
8 ──       (@_5 = true)::Core.Const(true)
└───       $(Expr(:pop_exception, :(%7)))::Any
9 ┄─       (llvm_assertions = @_5)::Core.Compiler.DelayedTyp(Core.Compiler.NewSSAValue(5))
│    @ /home/tim/.julia/dev/LLVMExtra_jll/.pkg/platform_augmentation.jl:14 within `augment_llvm!`
└───       goto #11 if not llvm_assertions
     @ /home/tim/.julia/dev/LLVMExtra_jll/.pkg/platform_augmentation.jl:15 within `augment_llvm!`
10%17 = Base.getproperty(llvm_version::Core.Const(v"14.0.5"), :major)::Core.Const(0x0000000e)
│          (@_6 = Base.string(%17, ".asserts"))::String
└───       goto #12
     @ /home/tim/.julia/dev/LLVMExtra_jll/.pkg/platform_augmentation.jl:17 within `augment_llvm!`
11%20 = Base.getproperty(llvm_version::Core.Const(v"14.0.5"), :major)::Core.Const(0x0000000e)
└───       (@_6 = Base.string(%20))::String
12%22 = @_6::String
│          Base.setindex!(platform, %22, "llvm_version")::Any
│    @ /home/tim/.julia/dev/LLVMExtra_jll/.pkg/platform_augmentation.jl:19 within `augment_llvm!`
└───       return platform
), 1	=>	3, 2
2	=>	
3	=>	4
4	=>	7, 5
5	=>	6
6	=>	9
7	=>	8
8	=>	9
9	=>	11, 10
10	=>	12
11	=>	12
12	=>	
, -1, 24, Core.Compiler.BitSet(UInt64[0x0000000000000000], 0), [0, 0, 0, 0, 0, 0, 0, 7, 7, 7  …  0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Core.Compiler.BitSet[Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[0x0000000000000010], 0), Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[0x0000000000004000], 0), Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[], -1152921504606846976)  …  Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[0x0000000000040000], 0), Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[0x0000000000200000], 0), Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[0x0000000000800000], 0), Core.Compiler.BitSet(UInt64[], -1152921504606846976), Core.Compiler.BitSet(UInt64[], -1152921504606846976)], Union{Nothing, Vector{Core.Compiler.VarState}}[Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_llvm!), false), Core.Compiler.VarState(Platform, false), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Union{}, true)], Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_llvm!), false), Core.Compiler.VarState(Platform, false), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Union{}, true)], Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_llvm!), false), Core.Compiler.VarState(Platform, false), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Union{}, true)], Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_llvm!), false), Core.Compiler.VarState(Platform, false), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Core.Const(v"14.0.5"), false), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Union{}, true)], Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_llvm!), false), Core.Compiler.VarState(Platform, false), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Core.Const(v"14.0.5"), false), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Union{}, true)], Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_llvm!), false), Core.Compiler.VarState(Platform, false), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Core.Const(v"14.0.5"), false), Core.Compiler.VarState(Core.Const(false), false), Core.Compiler.VarState(Union{}, true)], Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_llvm!), false), Core.Compiler.VarState(Platform, false), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Core.Const(v"14.0.5"), false), Core.Compiler.VarState(Core.Const(false), true), Core.Compiler.VarState(Union{}, true)], Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_llvm!), false), Core.Compiler.VarState(Platform, false), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Core.Const(v"14.0.5"), false), Core.Compiler.VarState(Core.Const(false), true), Core.Compiler.VarState(Union{}, true)], Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_llvm!), false), Core.Compiler.VarState(Platform, false), Core.Compiler.VarState(Union{}, true), Core.Compiler.VarState(Core.Const(v"14.0.5"), false), Core.Compiler.VarState(Bool, false), Core.Compiler.VarState(Union{}, true)], Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_llvm!), false), Core.Compiler.VarState(Platform, false), Core.Compiler.VarState(Core.Const(true), false), Core.Compiler.VarState(Core.Const(v"14.0.5"), false), Core.Compiler.VarState(Bool, false), Core.Compiler.VarState(Union{}, true)], Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_llvm!), false), Core.Compiler.VarState(Platform, false), Core.Compiler.VarState(Core.Const(false), false), Core.Compiler.VarState(Core.Const(v"14.0.5"), false), Core.Compiler.VarState(Bool, false), Core.Compiler.VarState(Union{}, true)], Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_llvm!), false), Core.Compiler.VarState(Platform, false), Core.Compiler.VarState(Bool, false), Core.Compiler.VarState(Core.Const(v"14.0.5"), false), Core.Compiler.VarState(Bool, false), Core.Compiler.VarState(String, false)]], Any[Any, Any, Bool, Any, Any, Core.Const(v"14.0.5"), Any, Ptr{Nothing}, Core.Const(false), Any  …  Core.Compiler.DelayedTyp(Core.Compiler.NewSSAValue(5)), Any, Core.Const(0x0000000e), String, Any, Core.Const(0x0000000e), String, String, Any, Any], Union{Nothing, Vector{Any}}[Any[MethodInstance for haskey(::Platform, ::String), MethodInstance for getproperty(::VersionNumber, ::Symbol), MethodInstance for getproperty(::VersionNumber, ::Symbol), MethodInstance for string(::UInt32, ::String), MethodInstance for string(::UInt32, ::String), MethodInstance for getproperty(::VersionNumber, ::Symbol), MethodInstance for getproperty(::VersionNumber, ::Symbol), MethodInstance for string(::UInt32), MethodInstance for string(::UInt32), MethodInstance for haskey(::Platform, ::String), MethodInstance for getproperty(::VersionNumber, ::Symbol), MethodInstance for string(::UInt32, ::String), MethodInstance for getproperty(::VersionNumber, ::Symbol), MethodInstance for string(::UInt32), MethodInstance for setindex!(::Platform, ::String, ::String)], nothing, Any[], nothing, nothing, nothing, nothing, nothing, nothing, nothing  …  nothing, nothing, Any[], Any[], nothing, Any[], Any[], nothing, nothing, nothing], Any[nothing, nothing, Core.Compiler.MethodMatchInfo(Core.Compiler.MethodLookupResult(Any[Core.MethodMatch(Tuple{typeof(haskey), Platform, String}, svec(), haskey(p::AbstractPlatform, k::String)
     @ Base.BinaryPlatforms binaryplatforms.jl:152, true)], Core.Compiler.WorldRange(0x0000000000003cfe, 0xffffffffffffffff), false)), nothing, nothing, nothing, nothing, false, nothing, nothing  …  nothing, nothing, Core.Compiler.ConstCallInfo(Core.Compiler.MethodMatchInfo(Core.Compiler.MethodLookupResult(Any[Core.MethodMatch(Tuple{typeof(getproperty), VersionNumber, Symbol}, svec(), getproperty(x, f::Symbol)
     @ Base Base.jl:37, true)], Core.Compiler.WorldRange(0x00000000000013f8, 0xffffffffffffffff), false)), Union{Nothing, Core.Compiler.ConcreteResult, Core.Compiler.ConstPropResult}[Core.Compiler.ConstPropResult(getproperty(::VersionNumber, ::Symbol) => Core.Const(0x0000000e))]), Core.Compiler.ConstCallInfo(Core.Compiler.MethodMatchInfo(Core.Compiler.MethodLookupResult(Any[Core.MethodMatch(Tuple{typeof(string), UInt32, String}, svec(), string(xs...)
     @ Base strings/io.jl:185, true)], Core.Compiler.WorldRange(0x0000000000002c46, 0xffffffffffffffff), false)), Union{Nothing, Core.Compiler.ConcreteResult, Core.Compiler.ConstPropResult}[Core.Compiler.ConstPropResult(string(::UInt32, ::String) => String)]), nothing, Core.Compiler.ConstCallInfo(Core.Compiler.MethodMatchInfo(Core.Compiler.MethodLookupResult(Any[Core.MethodMatch(Tuple{typeof(getproperty), VersionNumber, Symbol}, svec(), getproperty(x, f::Symbol)
     @ Base Base.jl:37, true)], Core.Compiler.WorldRange(0x00000000000013f8, 0xffffffffffffffff), false)), Union{Nothing, Core.Compiler.ConcreteResult, Core.Compiler.ConstPropResult}[Core.Compiler.ConstPropResult(getproperty(::VersionNumber, ::Symbol) => Core.Const(0x0000000e))]), Core.Compiler.ConstCallInfo(Core.Compiler.MethodMatchInfo(Core.Compiler.MethodLookupResult(Any[Core.MethodMatch(Tuple{typeof(string), UInt32}, svec(), string(n::Integer; base, pad)
     @ Base intfuncs.jl:801, true)], Core.Compiler.WorldRange(0x0000000000002c46, 0xffffffffffffffff), false)), Union{Nothing, Core.Compiler.ConcreteResult, Core.Compiler.ConstPropResult}[Core.Compiler.ConstPropResult(string(::UInt32) => String)]), nothing, Core.Compiler.MethodMatchInfo(Core.Compiler.MethodLookupResult(Any[Core.MethodMatch(Tuple{typeof(setindex!), Platform, String, String}, svec(), setindex!(p::AbstractPlatform, v::String, k::String)
     @ Base.BinaryPlatforms binaryplatforms.jl:153, true)], Core.Compiler.WorldRange(0x0000000000003cff, 0xffffffffffffffff), false)), nothing], Core.Compiler.IdSet{Core.Compiler.InferenceState}(Core.Compiler.IdDict{Core.Compiler.InferenceState, Nothing}(Any[#undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef  …  #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef], 0, 0)), Core.Compiler.IdSet{Core.Compiler.InferenceState}(Core.Compiler.IdDict{Core.Compiler.InferenceState, Nothing}(Any[#undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef  …  #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef], 0, 0)), Tuple{Core.Compiler.InferenceState, Int64}[], Core.Compiler.InferenceState[], true, Core.Compiler.InferenceState(MethodInstance for augment_platform!(::Platform), 0x00000000000077d0, Main, Any[], Any[Core.Const(augment_platform!), Platform], CodeInfo(
    @ /home/tim/.julia/dev/LLVMExtra_jll/.pkg/platform_augmentation.jl:24 within `augment_platform!`
1 ─ %1 = Main.augment_llvm!(platform)::Core.Compiler.NotFound()
└──      return %1
), 1	=>	
, 1, 1, Core.Compiler.BitSet(UInt64[0x0000000000000000], 0), [0, 0], Core.Compiler.BitSet[Core.Compiler.BitSet(UInt64[0x0000000000000004], 0), Core.Compiler.BitSet(UInt64[], -1152921504606846976)], Union{Nothing, Vector{Core.Compiler.VarState}}[Core.Compiler.VarState[Core.Compiler.VarState(Core.Const(augment_platform!), false), Core.Compiler.VarState(Platform, false)]], Any[Core.Compiler.NotFound(), Core.Compiler.NotFound()], Union{Nothing, Vector{Any}}[nothing, nothing], Any[nothing, nothing], Core.Compiler.IdSet{Core.Compiler.InferenceState}(Core.Compiler.IdDict{Core.Compiler.InferenceState, Nothing}(Any[#undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef  …  #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef], 0, 0)), Core.Compiler.IdSet{Core.Compiler.InferenceState}(Core.Compiler.IdDict{Core.Compiler.InferenceState, Nothing}(Any[#undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef  …  #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef, #undef], 0, 0)), Tuple{Core.Compiler.InferenceState, Int64}[], Core.Compiler.InferenceState[], true, nothing, false, augment_platform!(::Platform) => Union{}, Core.Compiler.WorldRange(0x00000000000077cf, 0x00000000000077d0), Union{}, (+c,+e,+n,+t,+s), Core.Compiler.InferenceParams(true, false, true, 3, 4, 8, 3, 32), false, true, Core.Compiler.NativeInterpreter(...)), true, augment_llvm!(::Platform) => Platform, Core.Compiler.WorldRange(0x00000000000044b7, 0x00000000000077d0), Platform, (!c,!e,!n,!t,!s), Core.Compiler.InferenceParams(true, false, true, 3, 4, 8, 3, 32), false, true, Core.Compiler.NativeInterpreter(...))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:inference Type inference
Projects
None yet
Development

No branches or pull requests

1 participant