Skip to content

Instantly share code, notes, and snippets.

@yuyichao
Created September 25, 2015 22:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yuyichao/c3f9fc9dfdf1010a5b55 to your computer and use it in GitHub Desktop.
Save yuyichao/c3f9fc9dfdf1010a5b55 to your computer and use it in GitHub Desktop.
; ModuleID = 'shadow'
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
%jl_value_t = type { %jl_value_t* }
@jl_pgcstack = external global %jl_value_t**
@__stack_chk_guard = external constant %jl_value_t*
@jl_true = external constant %jl_value_t*
@jl_false = external constant %jl_value_t*
@jl_emptysvec = external constant %jl_value_t*
@jl_emptytuple = external constant %jl_value_t*
@jl_exception_in_transit = external constant %jl_value_t*
@jl_diverror_exception = external constant %jl_value_t*
@jl_undefref_exception = external constant %jl_value_t*
@jl_domain_exception = external constant %jl_value_t*
@jl_overflow_exception = external constant %jl_value_t*
@jl_inexact_exception = external constant %jl_value_t*
@jl_RTLD_DEFAULT_handle = external constant i8*
@"jl_sym#=1" = internal global %jl_value_t* null
@"jl_sym#call2" = internal global %jl_value_t* null
@"jl_global#3" = internal global %jl_value_t* null
@"jl_sym#::4" = internal global %jl_value_t* null
@"jl_sym#curly5" = internal global %jl_value_t* null
@"jl_sym#Type6" = internal global %jl_value_t* null
@"jl_sym#n7" = internal global %jl_value_t* null
@"jl_sym#block8" = internal global %jl_value_t* null
@"jl_global#9" = internal global %jl_value_t* null
@"jl_method#10" = internal global %jl_value_t* null
@"*Main.Core.Expr11" = internal global %jl_value_t* null
@"jl_sym#new12" = internal global %jl_value_t* null
; Function Attrs: noreturn
declare void @__stack_chk_fail() #0
; Function Attrs: noreturn
declare void @jl_error(i8*) #0
; Function Attrs: noreturn
declare void @jl_throw(%jl_value_t*) #0
; Function Attrs: noreturn
declare void @jl_undefined_var_error(%jl_value_t*) #0
; Function Attrs: noreturn
declare void @jl_bounds_error_ints(%jl_value_t*, i32*, i32) #0
; Function Attrs: noreturn
declare void @jl_bounds_error_int(%jl_value_t*, i32) #0
; Function Attrs: noreturn
declare void @jl_bounds_error_tuple_int(%jl_value_t**, i32, i32) #0
; Function Attrs: noreturn
declare void @jl_bounds_error_unboxed_int(i8*, %jl_value_t*, i32) #0
; Function Attrs: noreturn
declare void @jl_throw_with_superfluous_argument(%jl_value_t*, i32) #0
declare %jl_value_t* @jl_new_structv(%jl_value_t*, %jl_value_t**, i32)
; Function Attrs: returns_twice
declare i32 @__sigsetjmp(i8*, i32) #1
declare i32 @memcmp(i8*, i8*, i32)
; Function Attrs: noreturn
declare void @jl_type_error_rt_line(i8*, i8*, %jl_value_t*, %jl_value_t*, i32) #0
declare void @jl_checked_assignment(%jl_value_t*, %jl_value_t*)
declare void @jl_declare_constant(%jl_value_t*)
declare %jl_value_t* @jl_get_binding_or_error(%jl_value_t*, %jl_value_t*)
declare %jl_value_t* @jl_f_is(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_typeof(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_sizeof(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_subtype(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_isa(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_typeassert(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_apply(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_kwcall(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_throw(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_tuple(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_svec(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_methodexists(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_applicable(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_invoke(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_top_eval(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_isdefined(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_get_field(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_set_field(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_field_type(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_nfields(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_new_expr(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_arraylen(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_arrayref(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_arrayset(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_arraysize(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_f_instantiate_type(%jl_value_t*, %jl_value_t**, i32)
declare %jl_value_t* @jl_apply_generic(%jl_value_t*, %jl_value_t**, i32)
declare void @jl_gc_queue_root(%jl_value_t*)
declare void @jl_gc_wb_slow(%jl_value_t*, %jl_value_t*)
; Function Attrs: nounwind readnone
declare i1 @llvm.expect.i1(i1, i1) #2
declare %jl_value_t* @jl_new_box(%jl_value_t*)
declare %jl_value_t* @jl_toplevel_eval(%jl_value_t*)
declare %jl_value_t* @jl_copy_ast(%jl_value_t*)
declare %jl_value_t* @jl_new_closure(i8*, %jl_value_t*, %jl_value_t*)
declare %jl_value_t* @jl_svec(i32, ...)
declare %jl_value_t* @jl_method_def(%jl_value_t*, %jl_value_t**, %jl_value_t*, %jl_value_t*, %jl_value_t*, %jl_value_t*, %jl_value_t*, %jl_value_t*, i32)
declare %jl_value_t* @jl_generic_function_def(%jl_value_t*, %jl_value_t**, %jl_value_t*, %jl_value_t*)
declare void @jl_enter_handler(i8*)
declare void @jl_pop_handler(i32)
declare i32 @jl_egal(%jl_value_t*, %jl_value_t*)
declare i32 @jl_subtype(%jl_value_t*, %jl_value_t*, i32)
declare %jl_value_t* @jl_gc_allocobj(i32)
declare %jl_value_t* @jl_gc_alloc_1w()
declare %jl_value_t* @jl_gc_alloc_2w()
declare %jl_value_t* @jl_gc_alloc_3w()
declare %jl_value_t* @jl_alloc_svec(i32)
declare i8* @jl_load_and_lookup(i8*, i8*, i8**)
declare %jl_value_t* @jl_new_bits(%jl_value_t*, i8*)
declare %jl_value_t* @jl_get_nth_field_checked(%jl_value_t*, i32)
declare i64 @jl_gc_diff_total_bytes()
declare %jl_value_t* @jl_box_int8(i8)
declare %jl_value_t* @jl_box_uint8(i8 zeroext)
declare %jl_value_t* @jl_box_int16(i16)
declare %jl_value_t* @jl_box_uint16(i16 zeroext)
declare %jl_value_t* @jl_box_int32(i32)
declare %jl_value_t* @jl_box_uint32(i32 zeroext)
declare %jl_value_t* @jl_box_int64(i64)
declare %jl_value_t* @jl_box_uint64(i64 zeroext)
declare %jl_value_t* @jl_box_float32(float)
declare %jl_value_t* @jl_box_float64(double)
declare %jl_value_t* @jl_box_char(i32)
declare %jl_value_t* @jl_box_gensym(i32 zeroext)
declare %jl_value_t* @jl_box8(%jl_value_t*, i8)
declare %jl_value_t* @jl_box16(%jl_value_t*, i16)
declare %jl_value_t* @jl_box32(%jl_value_t*, i32)
declare %jl_value_t* @jl_box64(%jl_value_t*, i64)
define internal %jl_value_t* @julia__new_0(%jl_value_t*, %jl_value_t**, i32) {
top:
call void @llvm.dbg.value(metadata %jl_value_t** %1, i64 0, metadata !15, metadata !17)
call void @llvm.dbg.value(metadata %jl_value_t** %1, i64 0, metadata !18, metadata !19)
%3 = alloca %jl_value_t*, i32 10, !dbg !20
%4 = getelementptr %jl_value_t** %3, i32 2, !dbg !20
%5 = getelementptr %jl_value_t** %3, i32 2, !dbg !20
%6 = getelementptr %jl_value_t** %3, i32 0, !dbg !20
%7 = bitcast %jl_value_t** %6 to i32*, !dbg !20
store i32 16, i32* %7, !dbg !20
%8 = load %jl_value_t*** @jl_pgcstack, !dbg !20
%9 = getelementptr %jl_value_t** %3, i32 1, !dbg !20
%10 = bitcast %jl_value_t** %9 to %jl_value_t***, !dbg !20
store %jl_value_t** %8, %jl_value_t*** %10, !dbg !20
store %jl_value_t** %3, %jl_value_t*** @jl_pgcstack, !dbg !20
%11 = getelementptr %jl_value_t** %5, i32 0, !dbg !20
store %jl_value_t* null, %jl_value_t** %11, !dbg !20
%12 = getelementptr %jl_value_t** %5, i32 1, !dbg !20
store %jl_value_t* null, %jl_value_t** %12, !dbg !20
%13 = getelementptr %jl_value_t** %5, i32 2, !dbg !20
store %jl_value_t* null, %jl_value_t** %13, !dbg !20
%14 = getelementptr %jl_value_t** %5, i32 3, !dbg !20
store %jl_value_t* null, %jl_value_t** %14, !dbg !20
%15 = getelementptr %jl_value_t** %5, i32 4, !dbg !20
store %jl_value_t* null, %jl_value_t** %15, !dbg !20
%16 = getelementptr %jl_value_t** %5, i32 5, !dbg !20
store %jl_value_t* null, %jl_value_t** %16, !dbg !20
%17 = getelementptr %jl_value_t** %5, i32 6, !dbg !20
store %jl_value_t* null, %jl_value_t** %17, !dbg !20
%18 = getelementptr %jl_value_t** %5, i32 7, !dbg !20
store %jl_value_t* null, %jl_value_t** %18, !dbg !20
%19 = getelementptr %jl_value_t** %1, i32 0, !dbg !20
%20 = load %jl_value_t** %19, !dbg !20
%21 = getelementptr %jl_value_t** %1, i32 1, !dbg !20
%22 = load %jl_value_t** %21, !dbg !20
%23 = load %jl_value_t** @"jl_sym#=1", !dbg !21
%24 = getelementptr %jl_value_t** %5, i32 0, !dbg !21
store %jl_value_t* %23, %jl_value_t** %24, !dbg !21
%25 = load %jl_value_t** @"jl_sym#call2", !dbg !21
%26 = getelementptr %jl_value_t** %5, i32 1, !dbg !21
store %jl_value_t* %25, %jl_value_t** %26, !dbg !21
%27 = load %jl_value_t** @"jl_global#3", !dbg !21
%28 = call %jl_value_t* @jl_copy_ast(%jl_value_t* %27), !dbg !21
%29 = getelementptr %jl_value_t** %5, i32 2, !dbg !21
store %jl_value_t* %28, %jl_value_t** %29, !dbg !21
%30 = load %jl_value_t** @"jl_sym#::4", !dbg !21
%31 = getelementptr %jl_value_t** %5, i32 3, !dbg !21
store %jl_value_t* %30, %jl_value_t** %31, !dbg !21
%32 = load %jl_value_t** @"jl_sym#curly5", !dbg !21
%33 = getelementptr %jl_value_t** %5, i32 4, !dbg !21
store %jl_value_t* %32, %jl_value_t** %33, !dbg !21
%34 = load %jl_value_t** @"jl_sym#Type6", !dbg !21
%35 = getelementptr %jl_value_t** %5, i32 5, !dbg !21
store %jl_value_t* %34, %jl_value_t** %35, !dbg !21
%36 = getelementptr %jl_value_t** %5, i32 6, !dbg !21
store %jl_value_t* %20, %jl_value_t** %36, !dbg !21
%37 = getelementptr %jl_value_t** %5, i32 4, !dbg !21
%38 = call %jl_value_t* @jl_f_new_expr(%jl_value_t* null, %jl_value_t** %37, i32 3), !dbg !21
%39 = getelementptr %jl_value_t** %5, i32 4, !dbg !21
store %jl_value_t* %38, %jl_value_t** %39, !dbg !21
%40 = getelementptr %jl_value_t** %5, i32 3, !dbg !21
%41 = call %jl_value_t* @jl_f_new_expr(%jl_value_t* null, %jl_value_t** %40, i32 2), !dbg !21
%42 = getelementptr %jl_value_t** %5, i32 3, !dbg !21
store %jl_value_t* %41, %jl_value_t** %42, !dbg !21
%43 = load %jl_value_t** @"jl_sym#::4", !dbg !21
%44 = getelementptr %jl_value_t** %5, i32 4, !dbg !21
store %jl_value_t* %43, %jl_value_t** %44, !dbg !21
%45 = load %jl_value_t** @"jl_sym#n7", !dbg !21
%46 = getelementptr %jl_value_t** %5, i32 5, !dbg !21
store %jl_value_t* %45, %jl_value_t** %46, !dbg !21
%47 = getelementptr %jl_value_t** %5, i32 6, !dbg !21
store %jl_value_t* %22, %jl_value_t** %47, !dbg !21
%48 = getelementptr %jl_value_t** %5, i32 4, !dbg !21
%49 = call %jl_value_t* @jl_f_new_expr(%jl_value_t* null, %jl_value_t** %48, i32 3), !dbg !21
%50 = getelementptr %jl_value_t** %5, i32 4, !dbg !21
store %jl_value_t* %49, %jl_value_t** %50, !dbg !21
%51 = getelementptr %jl_value_t** %5, i32 1, !dbg !21
%52 = call %jl_value_t* @jl_f_new_expr(%jl_value_t* null, %jl_value_t** %51, i32 4), !dbg !21
%53 = getelementptr %jl_value_t** %5, i32 1, !dbg !21
store %jl_value_t* %52, %jl_value_t** %53, !dbg !21
%54 = load %jl_value_t** @"jl_sym#block8", !dbg !21
%55 = getelementptr %jl_value_t** %5, i32 2, !dbg !21
store %jl_value_t* %54, %jl_value_t** %55, !dbg !21
%56 = load %jl_value_t** @"jl_global#9", !dbg !21
%57 = getelementptr %jl_value_t** %5, i32 3, !dbg !21
store %jl_value_t* %56, %jl_value_t** %57, !dbg !21
%58 = load %jl_value_t** @"jl_method#10", !dbg !21
%59 = load %jl_value_t** @"*Main.Core.Expr11", !dbg !21
%60 = bitcast %jl_value_t* %59 to %jl_value_t**, !dbg !21
%61 = getelementptr %jl_value_t** %60, i32 1, !dbg !21
%62 = load %jl_value_t** %61, !dbg !21
%63 = getelementptr %jl_value_t** %5, i32 4, !dbg !21
store %jl_value_t* %62, %jl_value_t** %63, !dbg !21
%64 = load %jl_value_t** @"jl_sym#new12", !dbg !21
%65 = getelementptr %jl_value_t** %5, i32 5, !dbg !21
store %jl_value_t* %64, %jl_value_t** %65, !dbg !21
%66 = getelementptr %jl_value_t** %5, i32 6, !dbg !21
store %jl_value_t* %20, %jl_value_t** %66, !dbg !21
%67 = load %jl_value_t** @"jl_sym#n7", !dbg !21
%68 = getelementptr %jl_value_t** %5, i32 7, !dbg !21
store %jl_value_t* %67, %jl_value_t** %68, !dbg !21
%69 = getelementptr %jl_value_t** %5, i32 4, !dbg !21
%70 = call %jl_value_t* @jl_apply_generic(%jl_value_t* %58, %jl_value_t** %69, i32 4), !dbg !21
%71 = getelementptr %jl_value_t** %5, i32 4, !dbg !21
store %jl_value_t* %70, %jl_value_t** %71, !dbg !21
%72 = getelementptr %jl_value_t** %5, i32 2, !dbg !21
%73 = call %jl_value_t* @jl_f_new_expr(%jl_value_t* null, %jl_value_t** %72, i32 3), !dbg !21
%74 = getelementptr %jl_value_t** %5, i32 2, !dbg !21
store %jl_value_t* %73, %jl_value_t** %74, !dbg !21
%75 = getelementptr %jl_value_t** %5, i32 0, !dbg !21
%76 = call %jl_value_t* @jl_f_new_expr(%jl_value_t* null, %jl_value_t** %75, i32 3), !dbg !21
%77 = getelementptr %jl_value_t** %5, i32 0, !dbg !21
store %jl_value_t* %76, %jl_value_t** %77, !dbg !21
%78 = getelementptr %jl_value_t** %5, i32 0, !dbg !21
%79 = call %jl_value_t* @jl_f_top_eval(%jl_value_t* null, %jl_value_t** %78, i32 1), !dbg !21
%80 = getelementptr %jl_value_t** %3, i32 1, !dbg !21
%81 = load %jl_value_t** %80, !dbg !21
%82 = bitcast %jl_value_t* %81 to %jl_value_t**, !dbg !21
store %jl_value_t** %82, %jl_value_t*** @jl_pgcstack, !dbg !21
ret %jl_value_t* %79, !dbg !21
}
; Function Attrs: nounwind readnone
declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
attributes #0 = { noreturn }
attributes #1 = { returns_twice }
attributes #2 = { nounwind readnone }
!llvm.module.flags = !{!0, !1}
!llvm.dbg.cu = !{!2}
!0 = !{i32 2, !"Dwarf Version", i32 2}
!1 = !{i32 1, !"Debug Info Version", i32 2}
!2 = !{!"0x11\001\00julia\001\00\000\00\001", !3, !4, !4, !5, !4, !4} ; [ DW_TAG_compile_unit ] [./boot.jl] [DW_LANG_C89]
!3 = !{!"boot.jl", !"."}
!4 = !{}
!5 = !{!6}
!6 = !{!"0x2e\00_new\00_new\00julia__new_0\000\000\001\000\000\000\001\000", !3, null, !7, null, %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)* @julia__new_0, null, null, !4} ; [ DW_TAG_subprogram ] [line 0] [def] [_new]
!7 = !{!"0x15\00\000\000\000\000\000\000", null, null, null, !8, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
!8 = !{!9, !9, !13, !14}
!9 = !{!"0xf\00\000\0032\0032\000\000", null, null, !10} ; [ DW_TAG_pointer_type ] [line 0, size 32, align 32, offset 0] [from jl_value_t]
!10 = !{!"0x13\00jl_value_t\0071\000\0032\000\000\000", !11, null, null, !12, null, null, null} ; [ DW_TAG_structure_type ] [jl_value_t] [line 71, size 0, align 32, offset 0] [def] [from ]
!11 = !{!"julia.h", !""}
!12 = !{!9}
!13 = !{!"0xf\00\000\0032\0032\000\000", null, null, !9} ; [ DW_TAG_pointer_type ] [line 0, size 32, align 32, offset 0] [from ]
!14 = !{!"0x24\00Int32\000\004\004\000\000\007", null, null} ; [ DW_TAG_base_type ] [Int32] [line 0, size 4, align 4, offset 0, enc DW_ATE_unsigned]
!15 = !{!"0x101\00typ\0016777506\000", !6, !16, !9} ; [ DW_TAG_arg_variable ] [typ] [line 290]
!16 = !{!"0x29", !3} ; [ DW_TAG_file_type ] [./boot.jl]
!17 = !{!"0x102\0034\000"} ; [ DW_TAG_expression ] [DW_OP_plus 0]
!18 = !{!"0x101\00argty\0033554722\000", !6, !16, !9} ; [ DW_TAG_arg_variable ] [argty] [line 290]
!19 = !{!"0x102\0034\004"} ; [ DW_TAG_expression ] [DW_OP_plus 4]
!20 = !MDLocation(line: 290, scope: !6)
!21 = !MDLocation(line: 290, column: 1, scope: !6)
define %jl_value_t* @julia__new_0(%jl_value_t*, %jl_value_t**, i32) {
top:
call void @llvm.dbg.value(metadata %jl_value_t** %1, i64 0, metadata !2, metadata !15)
call void @llvm.dbg.value(metadata %jl_value_t** %1, i64 0, metadata !16, metadata !17)
%3 = alloca [10 x %jl_value_t*], align 4, !dbg !18
%.sub1 = bitcast [10 x %jl_value_t*]* %3 to %jl_value_t**
%4 = getelementptr [10 x %jl_value_t*]* %3, i32 0, i32 2, !dbg !18
%5 = bitcast [10 x %jl_value_t*]* %3 to i32*, !dbg !18
store i32 16, i32* %5, align 4, !dbg !18
%6 = load %jl_value_t*** @jl_pgcstack, align 4, !dbg !18
%7 = getelementptr [10 x %jl_value_t*]* %3, i32 0, i32 1, !dbg !18
%8 = bitcast %jl_value_t** %7 to %jl_value_t***, !dbg !18
store %jl_value_t** %6, %jl_value_t*** %8, align 4, !dbg !18
store %jl_value_t** %.sub1, %jl_value_t*** @jl_pgcstack, align 4, !dbg !18
store %jl_value_t* null, %jl_value_t** %4, align 4, !dbg !18
%9 = getelementptr [10 x %jl_value_t*]* %3, i32 0, i32 3, !dbg !18
store %jl_value_t* null, %jl_value_t** %9, align 4, !dbg !18
%10 = getelementptr [10 x %jl_value_t*]* %3, i32 0, i32 4, !dbg !18
store %jl_value_t* null, %jl_value_t** %10, align 4, !dbg !18
%11 = getelementptr [10 x %jl_value_t*]* %3, i32 0, i32 5, !dbg !18
store %jl_value_t* null, %jl_value_t** %11, align 4, !dbg !18
%12 = getelementptr [10 x %jl_value_t*]* %3, i32 0, i32 6, !dbg !18
store %jl_value_t* null, %jl_value_t** %12, align 4, !dbg !18
%13 = getelementptr [10 x %jl_value_t*]* %3, i32 0, i32 7, !dbg !18
store %jl_value_t* null, %jl_value_t** %13, align 4, !dbg !18
%14 = getelementptr [10 x %jl_value_t*]* %3, i32 0, i32 8, !dbg !18
store %jl_value_t* null, %jl_value_t** %14, align 4, !dbg !18
%15 = getelementptr [10 x %jl_value_t*]* %3, i32 0, i32 9, !dbg !18
store %jl_value_t* null, %jl_value_t** %15, align 4, !dbg !18
%16 = load %jl_value_t** %1, align 4, !dbg !18
%17 = getelementptr %jl_value_t** %1, i32 1, !dbg !18
%18 = load %jl_value_t** %17, align 4, !dbg !18
%19 = load %jl_value_t** @"jl_sym#=1", align 4, !dbg !19
store %jl_value_t* %19, %jl_value_t** %4, align 4, !dbg !19
%20 = load %jl_value_t** @"jl_sym#call2", align 4, !dbg !19
store %jl_value_t* %20, %jl_value_t** %9, align 4, !dbg !19
%21 = load %jl_value_t** @"jl_global#3", align 4, !dbg !19
%22 = call %jl_value_t* @jl_copy_ast(%jl_value_t* %21), !dbg !19
store %jl_value_t* %22, %jl_value_t** %10, align 4, !dbg !19
%23 = load %jl_value_t** @"jl_sym#::4", align 4, !dbg !19
store %jl_value_t* %23, %jl_value_t** %11, align 4, !dbg !19
%24 = load %jl_value_t** @"jl_sym#curly5", align 4, !dbg !19
store %jl_value_t* %24, %jl_value_t** %12, align 4, !dbg !19
%25 = load %jl_value_t** @"jl_sym#Type6", align 4, !dbg !19
store %jl_value_t* %25, %jl_value_t** %13, align 4, !dbg !19
store %jl_value_t* %16, %jl_value_t** %14, align 4, !dbg !19
%26 = call %jl_value_t* @jl_f_new_expr(%jl_value_t* null, %jl_value_t** %12, i32 3), !dbg !19
store %jl_value_t* %26, %jl_value_t** %12, align 4, !dbg !19
%27 = call %jl_value_t* @jl_f_new_expr(%jl_value_t* null, %jl_value_t** %11, i32 2), !dbg !19
store %jl_value_t* %27, %jl_value_t** %11, align 4, !dbg !19
%28 = load %jl_value_t** @"jl_sym#::4", align 4, !dbg !19
store %jl_value_t* %28, %jl_value_t** %12, align 4, !dbg !19
%29 = load %jl_value_t** @"jl_sym#n7", align 4, !dbg !19
store %jl_value_t* %29, %jl_value_t** %13, align 4, !dbg !19
store %jl_value_t* %18, %jl_value_t** %14, align 4, !dbg !19
%30 = call %jl_value_t* @jl_f_new_expr(%jl_value_t* null, %jl_value_t** %12, i32 3), !dbg !19
store %jl_value_t* %30, %jl_value_t** %12, align 4, !dbg !19
%31 = call %jl_value_t* @jl_f_new_expr(%jl_value_t* null, %jl_value_t** %9, i32 4), !dbg !19
store %jl_value_t* %31, %jl_value_t** %9, align 4, !dbg !19
%32 = load %jl_value_t** @"jl_sym#block8", align 4, !dbg !19
store %jl_value_t* %32, %jl_value_t** %10, align 4, !dbg !19
%33 = load %jl_value_t** @"jl_global#9", align 4, !dbg !19
store %jl_value_t* %33, %jl_value_t** %11, align 4, !dbg !19
%34 = load %jl_value_t** @"jl_method#10", align 4, !dbg !19
%35 = load %jl_value_t*** bitcast (%jl_value_t** @"*Main.Core.Expr11" to %jl_value_t***), align 4, !dbg !19
%36 = getelementptr %jl_value_t** %35, i32 1, !dbg !19
%37 = load %jl_value_t** %36, align 4, !dbg !19
store %jl_value_t* %37, %jl_value_t** %12, align 4, !dbg !19
%38 = load %jl_value_t** @"jl_sym#new12", align 4, !dbg !19
store %jl_value_t* %38, %jl_value_t** %13, align 4, !dbg !19
store %jl_value_t* %16, %jl_value_t** %14, align 4, !dbg !19
%39 = load %jl_value_t** @"jl_sym#n7", align 4, !dbg !19
store %jl_value_t* %39, %jl_value_t** %15, align 4, !dbg !19
%40 = call %jl_value_t* @jl_apply_generic(%jl_value_t* %34, %jl_value_t** %12, i32 4), !dbg !19
store %jl_value_t* %40, %jl_value_t** %12, align 4, !dbg !19
%41 = call %jl_value_t* @jl_f_new_expr(%jl_value_t* null, %jl_value_t** %10, i32 3), !dbg !19
store %jl_value_t* %41, %jl_value_t** %10, align 4, !dbg !19
%42 = call %jl_value_t* @jl_f_new_expr(%jl_value_t* null, %jl_value_t** %4, i32 3), !dbg !19
store %jl_value_t* %42, %jl_value_t** %4, align 4, !dbg !19
%43 = call %jl_value_t* @jl_f_top_eval(%jl_value_t* null, %jl_value_t** %4, i32 1), !dbg !19
%44 = load %jl_value_t*** %8, align 4, !dbg !19
store %jl_value_t** %44, %jl_value_t*** @jl_pgcstack, align 4, !dbg !19
ret %jl_value_t* %43, !dbg !19
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment