Last active
August 29, 2015 13:57
-
-
Save vtjnash/9404221 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
julia> code_typed(Ito.Time.yearfraction,(Ito.Time.ISMAActualActual,Calendar.CalndarTime,CalendarTime,CalendarTime,CalendarTime)) | |
1-element Array{Any,1}: | |
:($(Expr(:lambda, {:c,:d_start,:d_end,:ref_start,:ref_end}, {{:newRefEnd,:newRefStart,:#s1133,:ref_period_start,:ref_period_end,:mnths,:period,:previousRef,:i,:sum},{{:c,ISMAActualActual,0},{:d_start,CalendarTime,0},{:d_end,CalendarTime,0},{:ref_start,CalendarTime,0},{:ref_end,CalendarTime,0},{:newRefEnd,Any,18},{:newRefStart,Any,18},{:#s1133,Bool,2},{:ref_period_start,CalendarTime,2},{:ref_period_end,Any,2},{:mnths,Int64,2},{:period,Float64,18},{:previousRef,CalendarTime,18},{:i,Int64,2},{:sum,Any,2}},{}}, :(begin # /Users/jameson/.julia/Ito/src/time/day_count.jl, line 162: | |
unless top(eq_float)(top(getfield)(d_start::CalendarTime,:millis)::Float64,top(getfield)(d_end::CalendarTime,:millis)::Float64)::Bool goto 0 # line 162: | |
return 0.0 | |
0: # line 164: | |
unless top(lt_float)(top(getfield)(d_end::CalendarTime,:millis)::Float64,top(getfield)(d_start::CalendarTime,:millis)::Float64)::Bool goto 1 # line 165: | |
return -(yearFraction(d_end::CalendarTime,d_start::CalendarTime,ref_start::CalendarTime,ref_end::CalendarTime)) | |
1: # line 168: | |
ref_period_start = ref_start::CalendarTime # line 169: | |
ref_period_end = ref_end::CalendarTime # line 171: | |
unless top(lt_float)(top(getfield)(ref_period_start::CalendarTime,:millis)::Float64,top(getfield)(ref_period_end::CalendarTime,:millis)::Float64)::Bool goto 2 | |
#s1133 = top(lt_float)(top(getfield)(d_start::CalendarTime,:millis)::Float64,top(getfield)(ref_period_end::CalendarTime,:millis)::Float64)::Bool | |
goto 3 | |
2: | |
#s1133 = false | |
3: | |
unless #s1133::Bool goto 4 | |
goto 5 | |
4: | |
throw($(Expr(:new, :(top(getfield)(Base,:ErrorException)::Type{ErrorException}), "assertion failed: ref_period_end > ref_period_start && ref_period_end > d_start"))::ErrorException)::None | |
5: # line 174: | |
mnths = top(box)(Int64,top(checked_fptosi)(Int64,top(ccall)($(Expr(:call1, :(top(tuple)), :(:floor), :($(Expr(:call1, :(top(getfield)), :Base, :(:libm_name)))::ASCIIString)))::(Symbol,ASCIIString),Float64,(Float64,),top(box)(Float64,top(add_float)(0.5,top(box)(Float64,top(div_float)(top(box)(Float64,top(sitofp)(Float64,top(box)(Int64,top(mul_int)(12,top(box)(Int64,top(fpsiround)(top(box)(Float64,top(div_float)(top(getfield)($(Expr(:new, :(top(getfield)(Calendar,:FixedCalendarDuration)::Type{FixedCalendarDuration}), :(top(box)(Float64,top(sub_float)(top(getfield)(ref_period_end::CalendarTime,:millis)::Float64,top(getfield)(ref_period_start::CalendarTime,:millis)::Float64))::Float64)))::FixedCalendarDuration,:millis)::Float64,8.64e7))::Float64))::Int64))::Int64))::Float64,top(box)(Float64,top(sitofp)(Float64,365))::Float64))::Float64))::Float64,0)::Float64))::Int64 # line 177: | |
unless mnths::Int64 === 0::Bool goto 6 # line 178: | |
ref_period_start = d_start::CalendarTime # line 179: | |
ref_period_end = d_start::CalendarTime + year(1) # line 180: | |
mnths = 12 | |
6: # line 183: | |
period = top(box)(Float64,top(div_float)(top(box)(Float64,top(sitofp)(Float64,mnths::Int64))::Float64,12.0))::Float64 # line 185: | |
unless top(box)(Bool,top(not_int)(ref_period_end < d_end::CalendarTime::Bool))::Bool goto 10 # line 187: | |
unless top(box)(Bool,top(not_int)(top(lt_float)(top(getfield)(d_start::CalendarTime,:millis)::Float64,top(getfield)(ref_period_start::CalendarTime,:millis)::Float64)::Bool))::Bool goto 7 # line 194: | |
return top(box)(Float64,top(div_float)(top(box)(Float64,top(mul_float)(period::Float64,top(box)(Float64,top(sitofp)(Float64,top(box)(Int64,top(fpsiround)(top(box)(Float64,top(div_float)(top(getfield)($(Expr(:new, :(top(getfield)(Calendar,:FixedCalendarDuration)::Type{FixedCalendarDuration}), :(top(box)(Float64,top(sub_float)(top(getfield)(d_end::CalendarTime,:millis)::Float64,top(getfield)(d_start::CalendarTime,:millis)::Float64))::Float64)))::FixedCalendarDuration,:millis)::Float64,8.64e7))::Float64))::Int64))::Float64))::Float64,top(box)(Float64,top(sitofp)(Float64,daycount(c::ISMAActualActual,ref_period_start::CalendarTime,ref_period_end)::Int64))::Float64))::Float64 | |
goto 9 | |
7: # line 204: | |
previousRef = ref_period_start::CalendarTime + $(Expr(:new, :(top(getfield)(Calendar,:CalendarDuration)::Type{CalendarDuration}), 0, :(top(box)(Int64,top(neg_int)(mnths::Int64))::Int64), 0, 0.0))::CalendarDuration::CalendarTime # line 205: | |
unless top(lt_float)(top(getfield)(ref_period_start::CalendarTime,:millis)::Float64,top(getfield)(d_end::CalendarTime,:millis)::Float64)::Bool goto 8 # line 206: | |
return yearfraction(c::ISMAActualActual,d_start::CalendarTime,ref_period_start::CalendarTime,previousRef::CalendarTime,ref_period_start::CalendarTime) + yearfraction(c::ISMAActualActual,ref_period_start::CalendarTime,d_end::CalendarTime,ref_period_start::CalendarTime,ref_period_end) | |
goto 9 | |
8: # line 208: | |
return yearfraction(d_start::CalendarTime,d_end::CalendarTime,previousRef::CalendarTime,ref_period_start::CalendarTime) | |
9: | |
goto 19 | |
10: # line 214: | |
unless top(box)(Bool,top(not_int)(top(lt_float)(top(getfield)(d_start::CalendarTime,:millis)::Float64,top(getfield)(ref_period_start::CalendarTime,:millis)::Float64)::Bool))::Bool goto 11 | |
goto 12 | |
11: | |
throw($(Expr(:new, :(top(getfield)(Base,:ErrorException)::Type{ErrorException}), "assertion failed: ref_period_start <= d_start"))::ErrorException)::None | |
12: # line 218: | |
sum = yearfraction(c::ISMAActualActual,d_start::CalendarTime,ref_period_end,ref_period_start::CalendarTime,ref_period_end) # line 223: | |
i = 0 # line 224: # line 225: | |
14: | |
unless true goto 15 # line 226: | |
newRefStart = ref_period_end + months(months * i::Int64) # line 227: | |
newRefEnd = ref_period_end + months(months * top(box)(Int64,top(add_int)(i::Int64,1))::Int64) # line 228: | |
unless d_end::CalendarTime < newRefEnd::Bool goto 17 # line 229: | |
goto 13 | |
goto 18 | |
17: # line 231: | |
sum = sum + period::Float64 # line 232: | |
i = top(box)(Int64,top(add_int)(i::Int64,1))::Int64 | |
18: | |
16: | |
goto 14 | |
15: | |
13: # line 235: | |
sum = sum + yearFraction(c::ISMAActualActual,newRefStart,d_end::CalendarTime,newRefStart,newRefEnd) # line 236: | |
return sum | |
19: | |
end)))) | |
julia> Ito.Time.yearfraction(Ito.Time.ISMAActualActual(),today(),today(),today(),today()) | |
Instruction does not dominate all uses! | |
%367 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217038181600 to %jl_value_t*), %jl_value_t** %366, i32 2), !dbg !4148 | |
store %jl_value_t* %367, %jl_value_t** %420, !dbg !4154 | |
Instruction does not dominate all uses! | |
%367 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217038181600 to %jl_value_t*), %jl_value_t** %366, i32 2), !dbg !4148 | |
store %jl_value_t* %367, %jl_value_t** %422, !dbg !4154 | |
Instruction does not dominate all uses! | |
%384 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217038181600 to %jl_value_t*), %jl_value_t** %383, i32 2), !dbg !4149 | |
store %jl_value_t* %384, %jl_value_t** %423, !dbg !4154 | |
Broken module found, verification continues. | |
; Function Attrs: sspreq | |
define %jl_value_t* @julia_yearfraction17428(%jl_value_t*, %jl_value_t**, i32) #2 { | |
top: | |
%"#s1133" = alloca i1, !dbg !4122 | |
%mnths = alloca i64, !dbg !4122 | |
%period = alloca double, !dbg !4122 | |
%i = alloca i64, !dbg !4122 | |
%3 = alloca %jl_value_t*, i32 14 | |
%4 = getelementptr %jl_value_t** %3, i32 2, !dbg !4122 | |
%5 = getelementptr %jl_value_t** %3, i32 0, !dbg !4122 | |
%6 = bitcast %jl_value_t** %5 to i64*, !dbg !4122 | |
store i64 24, i64* %6 | |
%7 = load %jl_value_t*** @jl_pgcstack, !dbg !4122 | |
%8 = getelementptr %jl_value_t** %3, i32 1, !dbg !4122 | |
%9 = bitcast %jl_value_t** %8 to %jl_value_t***, !dbg !4122 | |
store %jl_value_t** %7, %jl_value_t*** %9, !dbg !4122 | |
store %jl_value_t** %3, %jl_value_t*** @jl_pgcstack, !dbg !4122 | |
%10 = getelementptr %jl_value_t** %4, i32 0, !dbg !4122 | |
store %jl_value_t* null, %jl_value_t** %10, !dbg !4122 | |
%11 = getelementptr %jl_value_t** %4, i32 1, !dbg !4122 | |
store %jl_value_t* null, %jl_value_t** %11, !dbg !4122 | |
%12 = getelementptr %jl_value_t** %4, i32 2, !dbg !4122 | |
store %jl_value_t* null, %jl_value_t** %12, !dbg !4122 | |
%13 = getelementptr %jl_value_t** %4, i32 3, !dbg !4122 | |
store %jl_value_t* null, %jl_value_t** %13, !dbg !4122 | |
%14 = getelementptr %jl_value_t** %4, i32 4, !dbg !4122 | |
store %jl_value_t* null, %jl_value_t** %14, !dbg !4122 | |
%15 = getelementptr %jl_value_t** %4, i32 5, !dbg !4122 | |
store %jl_value_t* null, %jl_value_t** %15, !dbg !4122 | |
%16 = getelementptr %jl_value_t** %3, i32 8 | |
store %jl_value_t* null, %jl_value_t** %16 | |
%17 = getelementptr %jl_value_t** %3, i32 9 | |
store %jl_value_t* null, %jl_value_t** %17 | |
%18 = getelementptr %jl_value_t** %3, i32 10 | |
store %jl_value_t* null, %jl_value_t** %18 | |
%19 = getelementptr %jl_value_t** %3, i32 11 | |
store %jl_value_t* null, %jl_value_t** %19 | |
%20 = getelementptr %jl_value_t** %3, i32 12 | |
store %jl_value_t* null, %jl_value_t** %20 | |
%21 = getelementptr %jl_value_t** %3, i32 13 | |
store %jl_value_t* null, %jl_value_t** %21 | |
%22 = getelementptr %jl_value_t** %4, i32 0, !dbg !4122 | |
%23 = getelementptr %jl_value_t** %4, i32 1, !dbg !4122 | |
%24 = getelementptr %jl_value_t** %4, i32 2, !dbg !4122 | |
%25 = getelementptr %jl_value_t** %4, i32 3, !dbg !4122 | |
%26 = getelementptr %jl_value_t** %4, i32 4, !dbg !4122 | |
%27 = getelementptr %jl_value_t** %4, i32 5, !dbg !4122 | |
%28 = getelementptr %jl_value_t** %1, i64 0, !dbg !4122 | |
%29 = load %jl_value_t** %28, !dbg !4122 | |
%30 = getelementptr %jl_value_t** %1, i64 1, !dbg !4122 | |
%31 = load %jl_value_t** %30, !dbg !4122 | |
%32 = getelementptr %jl_value_t** %1, i64 2, !dbg !4122 | |
%33 = load %jl_value_t** %32, !dbg !4122 | |
%34 = getelementptr %jl_value_t** %1, i64 3, !dbg !4122 | |
%35 = load %jl_value_t** %34, !dbg !4122 | |
%36 = getelementptr %jl_value_t** %1, i64 4, !dbg !4122 | |
%37 = load %jl_value_t** %36, !dbg !4122 | |
%38 = bitcast %jl_value_t* %31 to i8*, !dbg !4123 | |
%39 = getelementptr i8* %38, i64 8, !dbg !4123 | |
%40 = bitcast i8* %39 to double*, !dbg !4123 | |
%41 = getelementptr double* %40, i64 0, !dbg !4123 | |
%42 = load double* %41, !dbg !4123 | |
%43 = bitcast %jl_value_t* %33 to i8*, !dbg !4123 | |
%44 = getelementptr i8* %43, i64 8, !dbg !4123 | |
%45 = bitcast i8* %44 to double*, !dbg !4123 | |
%46 = getelementptr double* %45, i64 0, !dbg !4123 | |
%47 = load double* %46, !dbg !4123 | |
%48 = fcmp oeq double %42, %47, !dbg !4123 | |
%49 = xor i1 %48, true, !dbg !4123 | |
br i1 %49, label %L, label %if, !dbg !4123 | |
if: ; preds = %top | |
%50 = getelementptr %jl_value_t** %3, i32 1, !dbg !4123 | |
%51 = load %jl_value_t** %50, !dbg !4123 | |
%52 = bitcast %jl_value_t* %51 to %jl_value_t**, !dbg !4123 | |
store %jl_value_t** %52, %jl_value_t*** @jl_pgcstack, !dbg !4123 | |
ret %jl_value_t* inttoptr (i64 140216930649168 to %jl_value_t*), !dbg !4123 | |
ret: ; No predecessors! | |
br label %L, !dbg !4123 | |
L: ; preds = %ret, %top | |
%53 = bitcast %jl_value_t* %33 to i8*, !dbg !4124 | |
%54 = getelementptr i8* %53, i64 8, !dbg !4124 | |
%55 = bitcast i8* %54 to double*, !dbg !4124 | |
%56 = getelementptr double* %55, i64 0, !dbg !4124 | |
%57 = load double* %56, !dbg !4124 | |
%58 = bitcast %jl_value_t* %31 to i8*, !dbg !4124 | |
%59 = getelementptr i8* %58, i64 8, !dbg !4124 | |
%60 = bitcast i8* %59 to double*, !dbg !4124 | |
%61 = getelementptr double* %60, i64 0, !dbg !4124 | |
%62 = load double* %61, !dbg !4124 | |
%63 = fcmp olt double %57, %62, !dbg !4124 | |
%64 = xor i1 %63, true, !dbg !4124 | |
br i1 %64, label %L3, label %if1, !dbg !4124 | |
if1: ; preds = %L | |
%65 = load %jl_value_t** getelementptr (%jl_value_t** inttoptr (i64 140216951747160 to %jl_value_t**), i64 1), !dbg !4125 | |
%66 = icmp ne %jl_value_t* %65, null, !dbg !4125 | |
br i1 %66, label %ok, label %err, !dbg !4125 | |
err: ; preds = %if1 | |
call void @jl_undefined_var_error(%jl_value_t* inttoptr (i64 140216860994816 to %jl_value_t*)), !dbg !4125 | |
br label %ok, !dbg !4125 | |
ok: ; preds = %err, %if1 | |
%67 = bitcast %jl_value_t* %65 to %jl_value_t**, !dbg !4125 | |
%68 = getelementptr %jl_value_t** %67, i64 0, !dbg !4125 | |
%69 = load %jl_value_t** %68, !dbg !4125 | |
%70 = icmp eq %jl_value_t* %69, inttoptr (i64 140217025616512 to %jl_value_t*), !dbg !4125 | |
%71 = icmp eq %jl_value_t* %69, inttoptr (i64 140217025601536 to %jl_value_t*), !dbg !4125 | |
%72 = or i1 %70, %71, !dbg !4125 | |
br i1 %72, label %isf, label %notf, !dbg !4125 | |
notf: ; preds = %ok | |
call void @jl_type_error_rt(i8* getelementptr inbounds ([13 x i8]* @_j_str75, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @_j_str2, i32 0, i32 0), %jl_value_t* inttoptr (i64 140217025616512 to %jl_value_t*), %jl_value_t* %65), !dbg !4125 | |
br label %isf, !dbg !4125 | |
isf: ; preds = %notf, %ok | |
%73 = bitcast %jl_value_t* %65 to %jl_value_t**, !dbg !4125 | |
%74 = getelementptr %jl_value_t** %73, i64 1, !dbg !4125 | |
%75 = load %jl_value_t** %74, !dbg !4125 | |
%76 = bitcast %jl_value_t* %75 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !4125 | |
%77 = getelementptr %jl_value_t** %4, i64 6, !dbg !4125 | |
store %jl_value_t* %33, %jl_value_t** %77, !dbg !4125 | |
%78 = getelementptr %jl_value_t** %4, i64 7, !dbg !4125 | |
store %jl_value_t* %31, %jl_value_t** %78, !dbg !4125 | |
%79 = getelementptr %jl_value_t** %4, i64 8, !dbg !4125 | |
store %jl_value_t* %35, %jl_value_t** %79, !dbg !4125 | |
%80 = getelementptr %jl_value_t** %4, i64 9, !dbg !4125 | |
store %jl_value_t* %37, %jl_value_t** %80, !dbg !4125 | |
%81 = getelementptr %jl_value_t** %4, i64 6, !dbg !4125 | |
%82 = call %jl_value_t* %76(%jl_value_t* %65, %jl_value_t** %81, i32 4), !dbg !4125 | |
%83 = getelementptr %jl_value_t** %4, i64 6, !dbg !4125 | |
store %jl_value_t* %82, %jl_value_t** %83, !dbg !4125 | |
%84 = getelementptr %jl_value_t** %4, i64 6, !dbg !4125 | |
%85 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217043285440 to %jl_value_t*), %jl_value_t** %84, i32 1), !dbg !4125 | |
%86 = getelementptr %jl_value_t** %3, i32 1, !dbg !4125 | |
%87 = load %jl_value_t** %86, !dbg !4125 | |
%88 = bitcast %jl_value_t* %87 to %jl_value_t**, !dbg !4125 | |
store %jl_value_t** %88, %jl_value_t*** @jl_pgcstack, !dbg !4125 | |
ret %jl_value_t* %85, !dbg !4125 | |
ret2: ; No predecessors! | |
br label %L3, !dbg !4125 | |
L3: ; preds = %ret2, %L | |
store %jl_value_t* %35, %jl_value_t** %24, !dbg !4126 | |
store %jl_value_t* %37, %jl_value_t** %25, !dbg !4127 | |
%89 = load %jl_value_t** %24, !dbg !4128 | |
%90 = bitcast %jl_value_t* %89 to i8*, !dbg !4128 | |
%91 = getelementptr i8* %90, i64 8, !dbg !4128 | |
%92 = bitcast i8* %91 to double*, !dbg !4128 | |
%93 = getelementptr double* %92, i64 0, !dbg !4128 | |
%94 = load double* %93, !dbg !4128 | |
%95 = load %jl_value_t** %25, !dbg !4128 | |
%96 = bitcast %jl_value_t* %95 to i8*, !dbg !4128 | |
%97 = getelementptr i8* %96, i64 8, !dbg !4128 | |
%98 = bitcast i8* %97 to double*, !dbg !4128 | |
%99 = getelementptr double* %98, i64 0, !dbg !4128 | |
%100 = load double* %99, !dbg !4128 | |
%101 = fcmp olt double %94, %100, !dbg !4128 | |
%102 = xor i1 %101, true, !dbg !4128 | |
br i1 %102, label %L5, label %if4, !dbg !4128 | |
if4: ; preds = %L3 | |
%103 = bitcast %jl_value_t* %31 to i8*, !dbg !4128 | |
%104 = getelementptr i8* %103, i64 8, !dbg !4128 | |
%105 = bitcast i8* %104 to double*, !dbg !4128 | |
%106 = getelementptr double* %105, i64 0, !dbg !4128 | |
%107 = load double* %106, !dbg !4128 | |
%108 = load %jl_value_t** %25, !dbg !4128 | |
%109 = bitcast %jl_value_t* %108 to i8*, !dbg !4128 | |
%110 = getelementptr i8* %109, i64 8, !dbg !4128 | |
%111 = bitcast i8* %110 to double*, !dbg !4128 | |
%112 = getelementptr double* %111, i64 0, !dbg !4128 | |
%113 = load double* %112, !dbg !4128 | |
%114 = fcmp olt double %107, %113, !dbg !4128 | |
store i1 %114, i1* %"#s1133", !dbg !4128 | |
br label %L6, !dbg !4128 | |
br: ; No predecessors! | |
br label %L5, !dbg !4128 | |
L5: ; preds = %br, %L3 | |
store i1 false, i1* %"#s1133", !dbg !4128 | |
br label %L6, !dbg !4128 | |
L6: ; preds = %L5, %if4 | |
%115 = load i1* %"#s1133", !dbg !4128 | |
%116 = xor i1 %115, true, !dbg !4128 | |
br i1 %116, label %L9, label %if7, !dbg !4128 | |
if7: ; preds = %L6 | |
br label %L10, !dbg !4128 | |
br8: ; No predecessors! | |
br label %L9, !dbg !4128 | |
L9: ; preds = %br8, %L6 | |
%117 = call %jl_value_t* @allocobj(i64 16), !dbg !4128 | |
%118 = bitcast %jl_value_t* %117 to %jl_value_t**, !dbg !4128 | |
%119 = getelementptr %jl_value_t** %118, i64 0, !dbg !4128 | |
store %jl_value_t* inttoptr (i64 140217027044864 to %jl_value_t*), %jl_value_t** %119, !dbg !4128 | |
%120 = bitcast %jl_value_t* %117 to i8*, !dbg !4128 | |
%121 = getelementptr i8* %120, i64 8, !dbg !4128 | |
%122 = bitcast i8* %121 to %jl_value_t**, !dbg !4128 | |
store %jl_value_t* inttoptr (i64 140216930650640 to %jl_value_t*), %jl_value_t** %122, !dbg !4128 | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %117, i32 171), !dbg !4128 | |
br label %L10, !dbg !4128 | |
L10: ; preds = %L9, %if7 | |
%123 = load %jl_value_t** %25, !dbg !4129 | |
%124 = bitcast %jl_value_t* %123 to i8*, !dbg !4129 | |
%125 = getelementptr i8* %124, i64 8, !dbg !4129 | |
%126 = bitcast i8* %125 to double*, !dbg !4129 | |
%127 = getelementptr double* %126, i64 0, !dbg !4129 | |
%128 = load double* %127, !dbg !4129 | |
%129 = load %jl_value_t** %24, !dbg !4129 | |
%130 = bitcast %jl_value_t* %129 to i8*, !dbg !4129 | |
%131 = getelementptr i8* %130, i64 8, !dbg !4129 | |
%132 = bitcast i8* %131 to double*, !dbg !4129 | |
%133 = getelementptr double* %132, i64 0, !dbg !4129 | |
%134 = load double* %133, !dbg !4129 | |
%135 = fsub double %128, %134, !dbg !4129 | |
%136 = insertvalue %FixedCalendarDuration undef, double %135, 0, !dbg !4129, !julia_type !4130 | |
%137 = extractvalue %FixedCalendarDuration %136, 0, !dbg !4129 | |
%138 = fdiv double %137, 8.640000e+07, !dbg !4129 | |
%139 = bitcast double %138 to i64, !dbg !4129 | |
%140 = ashr i64 %139, 52, !dbg !4129 | |
%141 = and i64 %140, 2047, !dbg !4129 | |
%142 = icmp sge i64 %141, 1075, !dbg !4129 | |
%143 = and i64 %139, -9223372036854775808, !dbg !4129 | |
%144 = or i64 4602678819172646912, %143, !dbg !4129 | |
%145 = bitcast i64 %144 to double, !dbg !4129 | |
%146 = fadd double %138, %145, !dbg !4129 | |
%147 = icmp slt i64 %141, 1022, !dbg !4129 | |
%148 = or i1 %142, %147, !dbg !4129 | |
%149 = select i1 %148, double %138, double %146, !dbg !4129 | |
%150 = fcmp ole double %149, 0x43DFFFFFFFFFFFFF, !dbg !4129 | |
%151 = fcmp oge double %149, 0xC3E0000000000000, !dbg !4129 | |
%152 = and i1 %150, %151, !dbg !4129 | |
%153 = load %jl_value_t** @jl_inexact_exception, !dbg !4129 | |
br i1 %152, label %pass, label %fail, !dbg !4129 | |
fail: ; preds = %L10 | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %153, i32 174), !dbg !4129 | |
unreachable, !dbg !4129 | |
pass: ; preds = %L10 | |
%154 = fptosi double %149 to i64, !dbg !4129 | |
%155 = mul i64 12, %154, !dbg !4129 | |
%156 = sitofp i64 %155 to double, !dbg !4129 | |
%157 = fdiv double %156, 3.650000e+02, !dbg !4129 | |
%158 = fadd double 5.000000e-01, %157, !dbg !4129 | |
%159 = call double inttoptr (i64 4480968128 to double (double)*)(double %158), !dbg !4129 | |
%160 = fptosi double %159 to i64, !dbg !4129 | |
%161 = sitofp i64 %160 to double, !dbg !4129 | |
%162 = fcmp oeq double %159, %161, !dbg !4129 | |
%163 = sitofp i64 %160 to double, !dbg !4129 | |
%164 = fptosi double %163 to i64, !dbg !4129 | |
%165 = icmp eq i64 %160, %164, !dbg !4129 | |
%166 = and i1 %162, %165, !dbg !4129 | |
%167 = load %jl_value_t** @jl_inexact_exception, !dbg !4129 | |
br i1 %166, label %pass12, label %fail11, !dbg !4129 | |
fail11: ; preds = %pass | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %167, i32 174), !dbg !4129 | |
unreachable, !dbg !4129 | |
pass12: ; preds = %pass | |
store i64 %160, i64* %mnths, !dbg !4129 | |
%168 = load i64* %mnths, !dbg !4131 | |
%169 = icmp eq i64 %168, 0, !dbg !4131 | |
%170 = xor i1 %169, true, !dbg !4131 | |
br i1 %170, label %L14, label %if13, !dbg !4131 | |
if13: ; preds = %pass12 | |
store %jl_value_t* %31, %jl_value_t** %24, !dbg !4132 | |
%171 = getelementptr %jl_value_t** %4, i64 6, !dbg !4133 | |
store %jl_value_t* %31, %jl_value_t** %171, !dbg !4133 | |
%172 = getelementptr %jl_value_t** %4, i64 7, !dbg !4133 | |
store %jl_value_t* inttoptr (i64 140217025708128 to %jl_value_t*), %jl_value_t** %172, !dbg !4133 | |
%173 = getelementptr %jl_value_t** %4, i64 7, !dbg !4133 | |
%174 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140216868234432 to %jl_value_t*), %jl_value_t** %173, i32 1), !dbg !4133 | |
%175 = getelementptr %jl_value_t** %4, i64 7, !dbg !4133 | |
store %jl_value_t* %174, %jl_value_t** %175, !dbg !4133 | |
%176 = getelementptr %jl_value_t** %4, i64 6, !dbg !4133 | |
%177 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217038181600 to %jl_value_t*), %jl_value_t** %176, i32 2), !dbg !4133 | |
store %jl_value_t* %177, %jl_value_t** %25, !dbg !4133 | |
store i64 12, i64* %mnths, !dbg !4134 | |
br label %L14, !dbg !4134 | |
L14: ; preds = %if13, %pass12 | |
%178 = load i64* %mnths, !dbg !4135 | |
%179 = sitofp i64 %178 to double, !dbg !4135 | |
%180 = fdiv double %179, 1.200000e+01, !dbg !4135 | |
store double %180, double* %period, !dbg !4135 | |
%181 = load %jl_value_t** %25, !dbg !4136 | |
%182 = icmp ne %jl_value_t* %181, null, !dbg !4136 | |
br i1 %182, label %ok16, label %err15, !dbg !4136 | |
err15: ; preds = %L14 | |
call void @jl_undefined_var_error(%jl_value_t* inttoptr (i64 140217253570640 to %jl_value_t*)), !dbg !4136 | |
br label %ok16, !dbg !4136 | |
ok16: ; preds = %err15, %L14 | |
%183 = getelementptr %jl_value_t** %4, i64 6, !dbg !4136 | |
store %jl_value_t* %181, %jl_value_t** %183, !dbg !4136 | |
%184 = getelementptr %jl_value_t** %4, i64 7, !dbg !4136 | |
store %jl_value_t* %33, %jl_value_t** %184, !dbg !4136 | |
%185 = getelementptr %jl_value_t** %4, i64 6, !dbg !4136 | |
%186 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217044949664 to %jl_value_t*), %jl_value_t** %185, i32 2), !dbg !4136 | |
%187 = bitcast %jl_value_t* %186 to %jl_value_t**, !dbg !4136 | |
%188 = getelementptr %jl_value_t** %187, i64 1, !dbg !4136 | |
%189 = bitcast %jl_value_t** %188 to i8*, !dbg !4136 | |
%190 = load i8* %189, !dbg !4136 | |
%191 = trunc i8 %190 to i1, !dbg !4136 | |
%192 = xor i1 %191, true, !dbg !4136 | |
%193 = xor i1 %192, true, !dbg !4136 | |
br i1 %193, label %L35, label %if17, !dbg !4136 | |
if17: ; preds = %ok16 | |
%194 = bitcast %jl_value_t* %31 to i8*, !dbg !4137 | |
%195 = getelementptr i8* %194, i64 8, !dbg !4137 | |
%196 = bitcast i8* %195 to double*, !dbg !4137 | |
%197 = getelementptr double* %196, i64 0, !dbg !4137 | |
%198 = load double* %197, !dbg !4137 | |
%199 = load %jl_value_t** %24, !dbg !4137 | |
%200 = bitcast %jl_value_t* %199 to i8*, !dbg !4137 | |
%201 = getelementptr i8* %200, i64 8, !dbg !4137 | |
%202 = bitcast i8* %201 to double*, !dbg !4137 | |
%203 = getelementptr double* %202, i64 0, !dbg !4137 | |
%204 = load double* %203, !dbg !4137 | |
%205 = fcmp olt double %198, %204, !dbg !4137 | |
%206 = xor i1 %205, true, !dbg !4137 | |
%207 = xor i1 %206, true, !dbg !4137 | |
br i1 %207, label %L25, label %if18, !dbg !4137 | |
if18: ; preds = %if17 | |
%208 = load double* %period, !dbg !4138 | |
%209 = bitcast %jl_value_t* %33 to i8*, !dbg !4138 | |
%210 = getelementptr i8* %209, i64 8, !dbg !4138 | |
%211 = bitcast i8* %210 to double*, !dbg !4138 | |
%212 = getelementptr double* %211, i64 0, !dbg !4138 | |
%213 = load double* %212, !dbg !4138 | |
%214 = bitcast %jl_value_t* %31 to i8*, !dbg !4138 | |
%215 = getelementptr i8* %214, i64 8, !dbg !4138 | |
%216 = bitcast i8* %215 to double*, !dbg !4138 | |
%217 = getelementptr double* %216, i64 0, !dbg !4138 | |
%218 = load double* %217, !dbg !4138 | |
%219 = fsub double %213, %218, !dbg !4138 | |
%220 = insertvalue %FixedCalendarDuration undef, double %219, 0, !dbg !4138, !julia_type !4130 | |
%221 = extractvalue %FixedCalendarDuration %220, 0, !dbg !4138 | |
%222 = fdiv double %221, 8.640000e+07, !dbg !4138 | |
%223 = bitcast double %222 to i64, !dbg !4138 | |
%224 = ashr i64 %223, 52, !dbg !4138 | |
%225 = and i64 %224, 2047, !dbg !4138 | |
%226 = icmp sge i64 %225, 1075, !dbg !4138 | |
%227 = and i64 %223, -9223372036854775808, !dbg !4138 | |
%228 = or i64 4602678819172646912, %227, !dbg !4138 | |
%229 = bitcast i64 %228 to double, !dbg !4138 | |
%230 = fadd double %222, %229, !dbg !4138 | |
%231 = icmp slt i64 %225, 1022, !dbg !4138 | |
%232 = or i1 %226, %231, !dbg !4138 | |
%233 = select i1 %232, double %222, double %230, !dbg !4138 | |
%234 = fcmp ole double %233, 0x43DFFFFFFFFFFFFF, !dbg !4138 | |
%235 = fcmp oge double %233, 0xC3E0000000000000, !dbg !4138 | |
%236 = and i1 %234, %235, !dbg !4138 | |
%237 = load %jl_value_t** @jl_inexact_exception, !dbg !4138 | |
br i1 %236, label %pass20, label %fail19, !dbg !4138 | |
fail19: ; preds = %if18 | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %237, i32 194), !dbg !4138 | |
unreachable, !dbg !4138 | |
pass20: ; preds = %if18 | |
%238 = fptosi double %233 to i64, !dbg !4138 | |
%239 = sitofp i64 %238 to double, !dbg !4138 | |
%240 = fmul double %208, %239, !dbg !4138 | |
%241 = getelementptr %jl_value_t** %4, i64 6, !dbg !4138 | |
store %jl_value_t* %29, %jl_value_t** %241, !dbg !4138 | |
%242 = load %jl_value_t** %24, !dbg !4138 | |
%243 = getelementptr %jl_value_t** %4, i64 7, !dbg !4138 | |
store %jl_value_t* %242, %jl_value_t** %243, !dbg !4138 | |
%244 = load %jl_value_t** %25, !dbg !4138 | |
%245 = icmp ne %jl_value_t* %244, null, !dbg !4138 | |
br i1 %245, label %ok22, label %err21, !dbg !4138 | |
err21: ; preds = %pass20 | |
call void @jl_undefined_var_error(%jl_value_t* inttoptr (i64 140217253570640 to %jl_value_t*)), !dbg !4138 | |
br label %ok22, !dbg !4138 | |
ok22: ; preds = %err21, %pass20 | |
%246 = getelementptr %jl_value_t** %4, i64 8, !dbg !4138 | |
store %jl_value_t* %244, %jl_value_t** %246, !dbg !4138 | |
%247 = getelementptr %jl_value_t** %4, i64 6, !dbg !4138 | |
%248 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140216939878592 to %jl_value_t*), %jl_value_t** %247, i32 3), !dbg !4138 | |
%249 = bitcast %jl_value_t* %248 to %jl_value_t**, !dbg !4138 | |
%250 = getelementptr %jl_value_t** %249, i64 1, !dbg !4138 | |
%251 = bitcast %jl_value_t** %250 to i64*, !dbg !4138 | |
%252 = load i64* %251, !dbg !4138 | |
%253 = sitofp i64 %252 to double, !dbg !4138 | |
%254 = fdiv double %240, %253, !dbg !4138 | |
%255 = call %jl_value_t* @alloc_2w(), !dbg !4138 | |
%256 = bitcast %jl_value_t* %255 to %jl_value_t**, !dbg !4138 | |
store %jl_value_t* inttoptr (i64 140217025637104 to %jl_value_t*), %jl_value_t** %256, !dbg !4138 | |
%257 = bitcast %jl_value_t* %255 to %jl_value_t**, !dbg !4138 | |
%258 = getelementptr %jl_value_t** %257, i64 1, !dbg !4138 | |
%259 = bitcast %jl_value_t** %258 to double*, !dbg !4138 | |
store double %254, double* %259, !dbg !4138 | |
%260 = getelementptr %jl_value_t** %3, i32 1, !dbg !4138 | |
%261 = load %jl_value_t** %260, !dbg !4138 | |
%262 = bitcast %jl_value_t* %261 to %jl_value_t**, !dbg !4138 | |
store %jl_value_t** %262, %jl_value_t*** @jl_pgcstack, !dbg !4138 | |
ret %jl_value_t* %255, !dbg !4138 | |
ret23: ; No predecessors! | |
br label %L33, !dbg !4138 | |
br24: ; No predecessors! | |
br label %L25, !dbg !4138 | |
L25: ; preds = %br24, %if17 | |
%263 = load %jl_value_t** %24, !dbg !4139 | |
%264 = load i64* %mnths, !dbg !4139 | |
%265 = sub i64 0, %264, !dbg !4139 | |
%266 = insertvalue %CalendarDuration { i64 0, i64 undef, i64 undef, double undef }, i64 %265, 1, !dbg !4139 | |
%267 = insertvalue %CalendarDuration %266, i64 0, 2, !dbg !4139 | |
%268 = insertvalue %CalendarDuration %267, double 0.000000e+00, 3, !dbg !4139, !julia_type !4140 | |
%269 = call %jl_value_t* @"julia_+17429"(%jl_value_t* %263, %CalendarDuration %268), !dbg !4139 | |
store %jl_value_t* %269, %jl_value_t** %26, !dbg !4139 | |
%270 = load %jl_value_t** %24, !dbg !4141 | |
%271 = bitcast %jl_value_t* %270 to i8*, !dbg !4141 | |
%272 = getelementptr i8* %271, i64 8, !dbg !4141 | |
%273 = bitcast i8* %272 to double*, !dbg !4141 | |
%274 = getelementptr double* %273, i64 0, !dbg !4141 | |
%275 = load double* %274, !dbg !4141 | |
%276 = bitcast %jl_value_t* %33 to i8*, !dbg !4141 | |
%277 = getelementptr i8* %276, i64 8, !dbg !4141 | |
%278 = bitcast i8* %277 to double*, !dbg !4141 | |
%279 = getelementptr double* %278, i64 0, !dbg !4141 | |
%280 = load double* %279, !dbg !4141 | |
%281 = fcmp olt double %275, %280, !dbg !4141 | |
%282 = xor i1 %281, true, !dbg !4141 | |
br i1 %282, label %L31, label %if26, !dbg !4141 | |
if26: ; preds = %L25 | |
%283 = getelementptr %jl_value_t** %4, i64 6, !dbg !4142 | |
store %jl_value_t* %29, %jl_value_t** %283, !dbg !4142 | |
%284 = getelementptr %jl_value_t** %4, i64 7, !dbg !4142 | |
store %jl_value_t* %31, %jl_value_t** %284, !dbg !4142 | |
%285 = load %jl_value_t** %24, !dbg !4142 | |
%286 = getelementptr %jl_value_t** %4, i64 8, !dbg !4142 | |
store %jl_value_t* %285, %jl_value_t** %286, !dbg !4142 | |
%287 = getelementptr %jl_value_t** %4, i64 9, !dbg !4142 | |
store %jl_value_t* %269, %jl_value_t** %287, !dbg !4142 | |
%288 = load %jl_value_t** %24, !dbg !4142 | |
%289 = getelementptr %jl_value_t** %4, i64 10, !dbg !4142 | |
store %jl_value_t* %288, %jl_value_t** %289, !dbg !4142 | |
%290 = getelementptr %jl_value_t** %4, i64 6, !dbg !4142 | |
%291 = call %jl_value_t* @julia_yearfraction17428(%jl_value_t* inttoptr (i64 140216974324320 to %jl_value_t*), %jl_value_t** %290, i32 5), !dbg !4142 | |
%292 = getelementptr %jl_value_t** %4, i64 6, !dbg !4142 | |
store %jl_value_t* %291, %jl_value_t** %292, !dbg !4142 | |
%293 = getelementptr %jl_value_t** %4, i64 7, !dbg !4142 | |
store %jl_value_t* %29, %jl_value_t** %293, !dbg !4142 | |
%294 = load %jl_value_t** %24, !dbg !4142 | |
%295 = getelementptr %jl_value_t** %4, i64 8, !dbg !4142 | |
store %jl_value_t* %294, %jl_value_t** %295, !dbg !4142 | |
%296 = getelementptr %jl_value_t** %4, i64 9, !dbg !4142 | |
store %jl_value_t* %33, %jl_value_t** %296, !dbg !4142 | |
%297 = load %jl_value_t** %24, !dbg !4142 | |
%298 = getelementptr %jl_value_t** %4, i64 10, !dbg !4142 | |
store %jl_value_t* %297, %jl_value_t** %298, !dbg !4142 | |
%299 = load %jl_value_t** %25, !dbg !4142 | |
%300 = icmp ne %jl_value_t* %299, null, !dbg !4142 | |
br i1 %300, label %ok28, label %err27, !dbg !4142 | |
err27: ; preds = %if26 | |
call void @jl_undefined_var_error(%jl_value_t* inttoptr (i64 140217253570640 to %jl_value_t*)), !dbg !4142 | |
br label %ok28, !dbg !4142 | |
ok28: ; preds = %err27, %if26 | |
%301 = getelementptr %jl_value_t** %4, i64 11, !dbg !4142 | |
store %jl_value_t* %299, %jl_value_t** %301, !dbg !4142 | |
%302 = getelementptr %jl_value_t** %4, i64 7, !dbg !4142 | |
%303 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140216930663264 to %jl_value_t*), %jl_value_t** %302, i32 5), !dbg !4142 | |
%304 = getelementptr %jl_value_t** %4, i64 7, !dbg !4142 | |
store %jl_value_t* %303, %jl_value_t** %304, !dbg !4142 | |
%305 = getelementptr %jl_value_t** %4, i64 6, !dbg !4142 | |
%306 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217038181600 to %jl_value_t*), %jl_value_t** %305, i32 2), !dbg !4142 | |
%307 = getelementptr %jl_value_t** %3, i32 1, !dbg !4142 | |
%308 = load %jl_value_t** %307, !dbg !4142 | |
%309 = bitcast %jl_value_t* %308 to %jl_value_t**, !dbg !4142 | |
store %jl_value_t** %309, %jl_value_t*** @jl_pgcstack, !dbg !4142 | |
ret %jl_value_t* %306, !dbg !4142 | |
ret29: ; No predecessors! | |
br label %L33, !dbg !4142 | |
br30: ; No predecessors! | |
br label %L31, !dbg !4142 | |
L31: ; preds = %br30, %L25 | |
%310 = getelementptr %jl_value_t** %4, i64 6, !dbg !4143 | |
store %jl_value_t* %31, %jl_value_t** %310, !dbg !4143 | |
%311 = getelementptr %jl_value_t** %4, i64 7, !dbg !4143 | |
store %jl_value_t* %33, %jl_value_t** %311, !dbg !4143 | |
%312 = getelementptr %jl_value_t** %4, i64 8, !dbg !4143 | |
store %jl_value_t* %269, %jl_value_t** %312, !dbg !4143 | |
%313 = load %jl_value_t** %24, !dbg !4143 | |
%314 = getelementptr %jl_value_t** %4, i64 9, !dbg !4143 | |
store %jl_value_t* %313, %jl_value_t** %314, !dbg !4143 | |
%315 = getelementptr %jl_value_t** %4, i64 6, !dbg !4143 | |
%316 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140216930663264 to %jl_value_t*), %jl_value_t** %315, i32 4), !dbg !4143 | |
%317 = getelementptr %jl_value_t** %3, i32 1, !dbg !4143 | |
%318 = load %jl_value_t** %317, !dbg !4143 | |
%319 = bitcast %jl_value_t* %318 to %jl_value_t**, !dbg !4143 | |
store %jl_value_t** %319, %jl_value_t*** @jl_pgcstack, !dbg !4143 | |
ret %jl_value_t* %316, !dbg !4143 | |
ret32: ; No predecessors! | |
br label %L33, !dbg !4143 | |
L33: ; preds = %ret32, %ret29, %ret23 | |
br label %L68, !dbg !4143 | |
br34: ; No predecessors! | |
br label %L35, !dbg !4143 | |
L35: ; preds = %br34, %ok16 | |
%320 = bitcast %jl_value_t* %31 to i8*, !dbg !4144 | |
%321 = getelementptr i8* %320, i64 8, !dbg !4144 | |
%322 = bitcast i8* %321 to double*, !dbg !4144 | |
%323 = getelementptr double* %322, i64 0, !dbg !4144 | |
%324 = load double* %323, !dbg !4144 | |
%325 = load %jl_value_t** %24, !dbg !4144 | |
%326 = bitcast %jl_value_t* %325 to i8*, !dbg !4144 | |
%327 = getelementptr i8* %326, i64 8, !dbg !4144 | |
%328 = bitcast i8* %327 to double*, !dbg !4144 | |
%329 = getelementptr double* %328, i64 0, !dbg !4144 | |
%330 = load double* %329, !dbg !4144 | |
%331 = fcmp olt double %324, %330, !dbg !4144 | |
%332 = xor i1 %331, true, !dbg !4144 | |
%333 = xor i1 %332, true, !dbg !4144 | |
br i1 %333, label %L38, label %if36, !dbg !4144 | |
if36: ; preds = %L35 | |
br label %L39, !dbg !4144 | |
br37: ; No predecessors! | |
br label %L38, !dbg !4144 | |
L38: ; preds = %br37, %L35 | |
%334 = call %jl_value_t* @allocobj(i64 16), !dbg !4144 | |
%335 = bitcast %jl_value_t* %334 to %jl_value_t**, !dbg !4144 | |
%336 = getelementptr %jl_value_t** %335, i64 0, !dbg !4144 | |
store %jl_value_t* inttoptr (i64 140217027044864 to %jl_value_t*), %jl_value_t** %336, !dbg !4144 | |
%337 = bitcast %jl_value_t* %334 to i8*, !dbg !4144 | |
%338 = getelementptr i8* %337, i64 8, !dbg !4144 | |
%339 = bitcast i8* %338 to %jl_value_t**, !dbg !4144 | |
store %jl_value_t* inttoptr (i64 140216930650656 to %jl_value_t*), %jl_value_t** %339, !dbg !4144 | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %334, i32 214), !dbg !4144 | |
br label %L39, !dbg !4144 | |
L39: ; preds = %L38, %if36 | |
%340 = getelementptr %jl_value_t** %4, i64 6, !dbg !4145 | |
store %jl_value_t* %29, %jl_value_t** %340, !dbg !4145 | |
%341 = getelementptr %jl_value_t** %4, i64 7, !dbg !4145 | |
store %jl_value_t* %31, %jl_value_t** %341, !dbg !4145 | |
%342 = load %jl_value_t** %25, !dbg !4145 | |
%343 = icmp ne %jl_value_t* %342, null, !dbg !4145 | |
br i1 %343, label %ok41, label %err40, !dbg !4145 | |
err40: ; preds = %L39 | |
call void @jl_undefined_var_error(%jl_value_t* inttoptr (i64 140217253570640 to %jl_value_t*)), !dbg !4145 | |
br label %ok41, !dbg !4145 | |
ok41: ; preds = %err40, %L39 | |
%344 = getelementptr %jl_value_t** %4, i64 8, !dbg !4145 | |
store %jl_value_t* %342, %jl_value_t** %344, !dbg !4145 | |
%345 = load %jl_value_t** %24, !dbg !4145 | |
%346 = getelementptr %jl_value_t** %4, i64 9, !dbg !4145 | |
store %jl_value_t* %345, %jl_value_t** %346, !dbg !4145 | |
%347 = load %jl_value_t** %25, !dbg !4145 | |
%348 = icmp ne %jl_value_t* %347, null, !dbg !4145 | |
br i1 %348, label %ok43, label %err42, !dbg !4145 | |
err42: ; preds = %ok41 | |
call void @jl_undefined_var_error(%jl_value_t* inttoptr (i64 140217253570640 to %jl_value_t*)), !dbg !4145 | |
br label %ok43, !dbg !4145 | |
ok43: ; preds = %err42, %ok41 | |
%349 = getelementptr %jl_value_t** %4, i64 10, !dbg !4145 | |
store %jl_value_t* %347, %jl_value_t** %349, !dbg !4145 | |
%350 = getelementptr %jl_value_t** %4, i64 6, !dbg !4145 | |
%351 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140216930663264 to %jl_value_t*), %jl_value_t** %350, i32 5), !dbg !4145 | |
store %jl_value_t* %351, %jl_value_t** %27, !dbg !4145 | |
store i64 0, i64* %i, !dbg !4146 | |
br label %L44, !dbg !4147 | |
L44: ; preds = %L56, %ok43 | |
br i1 false, label %L58, label %if45, !dbg !4147 | |
if45: ; preds = %L44 | |
%352 = load %jl_value_t** %25, !dbg !4148 | |
%353 = icmp ne %jl_value_t* %352, null, !dbg !4148 | |
br i1 %353, label %ok47, label %err46, !dbg !4148 | |
err46: ; preds = %if45 | |
call void @jl_undefined_var_error(%jl_value_t* inttoptr (i64 140217253570640 to %jl_value_t*)), !dbg !4148 | |
br label %ok47, !dbg !4148 | |
ok47: ; preds = %err46, %if45 | |
%354 = getelementptr %jl_value_t** %4, i64 6, !dbg !4148 | |
store %jl_value_t* %352, %jl_value_t** %354, !dbg !4148 | |
%355 = load %jl_value_t** getelementptr (%jl_value_t** inttoptr (i64 140216866499640 to %jl_value_t**), i64 1), !dbg !4148 | |
%356 = getelementptr %jl_value_t** %4, i64 7, !dbg !4148 | |
store %jl_value_t* %355, %jl_value_t** %356, !dbg !4148 | |
%357 = load i64* %i, !dbg !4148 | |
%358 = call %jl_value_t* @jl_box_int64(i64 %357), !dbg !4148 | |
%359 = getelementptr %jl_value_t** %4, i64 8, !dbg !4148 | |
store %jl_value_t* %358, %jl_value_t** %359, !dbg !4148 | |
%360 = getelementptr %jl_value_t** %4, i64 7, !dbg !4148 | |
%361 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217042456768 to %jl_value_t*), %jl_value_t** %360, i32 2), !dbg !4148 | |
%362 = getelementptr %jl_value_t** %4, i64 7, !dbg !4148 | |
store %jl_value_t* %361, %jl_value_t** %362, !dbg !4148 | |
%363 = getelementptr %jl_value_t** %4, i64 7, !dbg !4148 | |
%364 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140216843560096 to %jl_value_t*), %jl_value_t** %363, i32 1), !dbg !4148 | |
%365 = getelementptr %jl_value_t** %4, i64 7, !dbg !4148 | |
store %jl_value_t* %364, %jl_value_t** %365, !dbg !4148 | |
%366 = getelementptr %jl_value_t** %4, i64 6, !dbg !4148 | |
%367 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217038181600 to %jl_value_t*), %jl_value_t** %366, i32 2), !dbg !4148 | |
store %jl_value_t* %367, %jl_value_t** %23, !dbg !4148 | |
%368 = load %jl_value_t** %25, !dbg !4149 | |
%369 = icmp ne %jl_value_t* %368, null, !dbg !4149 | |
br i1 %369, label %ok49, label %err48, !dbg !4149 | |
err48: ; preds = %ok47 | |
call void @jl_undefined_var_error(%jl_value_t* inttoptr (i64 140217253570640 to %jl_value_t*)), !dbg !4149 | |
br label %ok49, !dbg !4149 | |
ok49: ; preds = %err48, %ok47 | |
%370 = getelementptr %jl_value_t** %4, i64 6, !dbg !4149 | |
store %jl_value_t* %368, %jl_value_t** %370, !dbg !4149 | |
%371 = load %jl_value_t** getelementptr (%jl_value_t** inttoptr (i64 140216866499640 to %jl_value_t**), i64 1), !dbg !4149 | |
%372 = getelementptr %jl_value_t** %4, i64 7, !dbg !4149 | |
store %jl_value_t* %371, %jl_value_t** %372, !dbg !4149 | |
%373 = load i64* %i, !dbg !4149 | |
%374 = add i64 %373, 1, !dbg !4149 | |
%375 = call %jl_value_t* @jl_box_int64(i64 %374), !dbg !4149 | |
%376 = getelementptr %jl_value_t** %4, i64 8, !dbg !4149 | |
store %jl_value_t* %375, %jl_value_t** %376, !dbg !4149 | |
%377 = getelementptr %jl_value_t** %4, i64 7, !dbg !4149 | |
%378 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217042456768 to %jl_value_t*), %jl_value_t** %377, i32 2), !dbg !4149 | |
%379 = getelementptr %jl_value_t** %4, i64 7, !dbg !4149 | |
store %jl_value_t* %378, %jl_value_t** %379, !dbg !4149 | |
%380 = getelementptr %jl_value_t** %4, i64 7, !dbg !4149 | |
%381 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140216843560096 to %jl_value_t*), %jl_value_t** %380, i32 1), !dbg !4149 | |
%382 = getelementptr %jl_value_t** %4, i64 7, !dbg !4149 | |
store %jl_value_t* %381, %jl_value_t** %382, !dbg !4149 | |
%383 = getelementptr %jl_value_t** %4, i64 6, !dbg !4149 | |
%384 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217038181600 to %jl_value_t*), %jl_value_t** %383, i32 2), !dbg !4149 | |
store %jl_value_t* %384, %jl_value_t** %22, !dbg !4149 | |
%385 = getelementptr %jl_value_t** %4, i64 6, !dbg !4150 | |
store %jl_value_t* %33, %jl_value_t** %385, !dbg !4150 | |
%386 = getelementptr %jl_value_t** %4, i64 7, !dbg !4150 | |
store %jl_value_t* %384, %jl_value_t** %386, !dbg !4150 | |
%387 = getelementptr %jl_value_t** %4, i64 6, !dbg !4150 | |
%388 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217044949664 to %jl_value_t*), %jl_value_t** %387, i32 2), !dbg !4150 | |
%389 = icmp eq %jl_value_t* %388, inttoptr (i64 140217025724976 to %jl_value_t*), !dbg !4150 | |
br i1 %389, label %L53, label %if50, !dbg !4150 | |
if50: ; preds = %ok49 | |
br label %L58, !dbg !4151 | |
br51: ; No predecessors! | |
br label %L56, !dbg !4151 | |
br52: ; No predecessors! | |
br label %L53, !dbg !4151 | |
L53: ; preds = %br52, %ok49 | |
%390 = load %jl_value_t** %27, !dbg !4152 | |
%391 = icmp ne %jl_value_t* %390, null, !dbg !4152 | |
br i1 %391, label %ok55, label %err54, !dbg !4152 | |
err54: ; preds = %L53 | |
call void @jl_undefined_var_error(%jl_value_t* inttoptr (i64 140217014368368 to %jl_value_t*)), !dbg !4152 | |
br label %ok55, !dbg !4152 | |
ok55: ; preds = %err54, %L53 | |
%392 = getelementptr %jl_value_t** %4, i64 6, !dbg !4152 | |
store %jl_value_t* %390, %jl_value_t** %392, !dbg !4152 | |
%393 = load double* %period, !dbg !4152 | |
%394 = call %jl_value_t* @alloc_2w(), !dbg !4152 | |
%395 = bitcast %jl_value_t* %394 to %jl_value_t**, !dbg !4152 | |
store %jl_value_t* inttoptr (i64 140217025637104 to %jl_value_t*), %jl_value_t** %395, !dbg !4152 | |
%396 = bitcast %jl_value_t* %394 to %jl_value_t**, !dbg !4152 | |
%397 = getelementptr %jl_value_t** %396, i64 1, !dbg !4152 | |
%398 = bitcast %jl_value_t** %397 to double*, !dbg !4152 | |
store double %393, double* %398, !dbg !4152 | |
%399 = getelementptr %jl_value_t** %4, i64 7, !dbg !4152 | |
store %jl_value_t* %394, %jl_value_t** %399, !dbg !4152 | |
%400 = getelementptr %jl_value_t** %4, i64 6, !dbg !4152 | |
%401 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217038181600 to %jl_value_t*), %jl_value_t** %400, i32 2), !dbg !4152 | |
store %jl_value_t* %401, %jl_value_t** %27, !dbg !4152 | |
%402 = load i64* %i, !dbg !4153 | |
%403 = add i64 %402, 1, !dbg !4153 | |
store i64 %403, i64* %i, !dbg !4153 | |
br label %L56, !dbg !4153 | |
L56: ; preds = %ok55, %br51 | |
br label %L44, !dbg !4153 | |
br57: ; No predecessors! | |
br label %L58, !dbg !4153 | |
L58: ; preds = %br57, %if50, %L44 | |
%404 = load %jl_value_t** %27, !dbg !4154 | |
%405 = icmp ne %jl_value_t* %404, null, !dbg !4154 | |
br i1 %405, label %ok60, label %err59, !dbg !4154 | |
err59: ; preds = %L58 | |
call void @jl_undefined_var_error(%jl_value_t* inttoptr (i64 140217014368368 to %jl_value_t*)), !dbg !4154 | |
br label %ok60, !dbg !4154 | |
ok60: ; preds = %err59, %L58 | |
%406 = getelementptr %jl_value_t** %4, i64 6, !dbg !4154 | |
store %jl_value_t* %404, %jl_value_t** %406, !dbg !4154 | |
%407 = load %jl_value_t** getelementptr (%jl_value_t** inttoptr (i64 140216951747160 to %jl_value_t**), i64 1), !dbg !4154 | |
%408 = icmp ne %jl_value_t* %407, null, !dbg !4154 | |
br i1 %408, label %ok62, label %err61, !dbg !4154 | |
err61: ; preds = %ok60 | |
call void @jl_undefined_var_error(%jl_value_t* inttoptr (i64 140216860994816 to %jl_value_t*)), !dbg !4154 | |
br label %ok62, !dbg !4154 | |
ok62: ; preds = %err61, %ok60 | |
%409 = bitcast %jl_value_t* %407 to %jl_value_t**, !dbg !4154 | |
%410 = getelementptr %jl_value_t** %409, i64 0, !dbg !4154 | |
%411 = load %jl_value_t** %410, !dbg !4154 | |
%412 = icmp eq %jl_value_t* %411, inttoptr (i64 140217025616512 to %jl_value_t*), !dbg !4154 | |
%413 = icmp eq %jl_value_t* %411, inttoptr (i64 140217025601536 to %jl_value_t*), !dbg !4154 | |
%414 = or i1 %412, %413, !dbg !4154 | |
br i1 %414, label %isf64, label %notf63, !dbg !4154 | |
notf63: ; preds = %ok62 | |
call void @jl_type_error_rt(i8* getelementptr inbounds ([13 x i8]* @_j_str75, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @_j_str2, i32 0, i32 0), %jl_value_t* inttoptr (i64 140217025616512 to %jl_value_t*), %jl_value_t* %407), !dbg !4154 | |
br label %isf64, !dbg !4154 | |
isf64: ; preds = %notf63, %ok62 | |
%415 = bitcast %jl_value_t* %407 to %jl_value_t**, !dbg !4154 | |
%416 = getelementptr %jl_value_t** %415, i64 1, !dbg !4154 | |
%417 = load %jl_value_t** %416, !dbg !4154 | |
%418 = bitcast %jl_value_t* %417 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !4154 | |
%419 = getelementptr %jl_value_t** %4, i64 7, !dbg !4154 | |
store %jl_value_t* %29, %jl_value_t** %419, !dbg !4154 | |
%420 = getelementptr %jl_value_t** %4, i64 8, !dbg !4154 | |
store %jl_value_t* %367, %jl_value_t** %420, !dbg !4154 | |
%421 = getelementptr %jl_value_t** %4, i64 9, !dbg !4154 | |
store %jl_value_t* %33, %jl_value_t** %421, !dbg !4154 | |
%422 = getelementptr %jl_value_t** %4, i64 10, !dbg !4154 | |
store %jl_value_t* %367, %jl_value_t** %422, !dbg !4154 | |
%423 = getelementptr %jl_value_t** %4, i64 11, !dbg !4154 | |
store %jl_value_t* %384, %jl_value_t** %423, !dbg !4154 | |
%424 = getelementptr %jl_value_t** %4, i64 7, !dbg !4154 | |
%425 = call %jl_value_t* %418(%jl_value_t* %407, %jl_value_t** %424, i32 5), !dbg !4154 | |
%426 = getelementptr %jl_value_t** %4, i64 7, !dbg !4154 | |
store %jl_value_t* %425, %jl_value_t** %426, !dbg !4154 | |
%427 = getelementptr %jl_value_t** %4, i64 6, !dbg !4154 | |
%428 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 140217038181600 to %jl_value_t*), %jl_value_t** %427, i32 2), !dbg !4154 | |
store %jl_value_t* %428, %jl_value_t** %27, !dbg !4154 | |
%429 = load %jl_value_t** %27, !dbg !4155 | |
%430 = icmp ne %jl_value_t* %429, null, !dbg !4155 | |
br i1 %430, label %ok66, label %err65, !dbg !4155 | |
err65: ; preds = %isf64 | |
call void @jl_undefined_var_error(%jl_value_t* inttoptr (i64 140217014368368 to %jl_value_t*)), !dbg !4155 | |
br label %ok66, !dbg !4155 | |
ok66: ; preds = %err65, %isf64 | |
%431 = getelementptr %jl_value_t** %3, i32 1, !dbg !4155 | |
%432 = load %jl_value_t** %431, !dbg !4155 | |
%433 = bitcast %jl_value_t* %432 to %jl_value_t**, !dbg !4155 | |
store %jl_value_t** %433, %jl_value_t*** @jl_pgcstack, !dbg !4155 | |
ret %jl_value_t* %429, !dbg !4155 | |
ret67: ; No predecessors! | |
br label %L68, !dbg !4155 | |
L68: ; preds = %ret67, %L33 | |
unreachable, !dbg !4155 | |
} | |
Illegal instruction: 4 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment