Skip to content

Instantly share code, notes, and snippets.

@ArchRobison
Created February 23, 2015 21:51
Show Gist options
  • Select an option

  • Save ArchRobison/a95464f10794c5711c17 to your computer and use it in GitHub Desktop.

Select an option

Save ArchRobison/a95464f10794c5711c17 to your computer and use it in GitHub Desktop.
*** IR Dump After Combine redundant instructions ***
; Function Attrs: sspreq
define %jl_value_t* @julia_unoptimized_42298(%jl_value_t*, %jl_value_t**, i32) #0 {
top:
%3 = load %jl_value_t** %1, align 8, !dbg !15
%4 = getelementptr %jl_value_t** %1, i64 1, !dbg !15
%5 = load %jl_value_t** %4, align 8, !dbg !15
%6 = getelementptr inbounds %jl_value_t* %5, i64 4, i32 0, !dbg !16
%7 = load %jl_value_t** %6, align 8, !dbg !16, !tbaa %jtbaa_arraysize
%8 = ptrtoint %jl_value_t* %7 to i64, !dbg !16
%9 = add i64 %8, -1, !dbg !22
%10 = call %StepRange.2 @julia_call3774(%jl_value_t* inttoptr (i64 140326097065440 to %jl_value_t*), i
%11 = extractvalue %StepRange.2 %10, 0, !dbg !22
%12 = extractvalue %StepRange.2 %10, 2, !dbg !22
%13 = icmp ne i64 %11, %12, !dbg !22
%14 = extractvalue %StepRange.2 %10, 1, !dbg !22
%15 = icmp sgt i64 %14, 0, !dbg !22
%16 = icmp slt i64 %11, %12, !dbg !22
%17 = xor i1 %15, %16, !dbg !22
%18 = and i1 %13, %17, !dbg !22
%19 = add i64 %12, %14, !dbg !22
%20 = icmp eq i64 %11, %19, !dbg !22
%21 = or i1 %18, %20, !dbg !22
br i1 %21, label %L3, label %L.preheader, !dbg !22
...
L: ; preds = %L.preheader.split, %L
%"#s1.0" = phi i64 [ %39, %L ], [ %11, %L.preheader.split ]
%39 = add i64 %"#s1.0", %14, !dbg !22
%40 = add i64 %"#s1.0", -1, !dbg !24
%41 = getelementptr double* %25, i64 %40, !dbg !24
%42 = load double* %41, align 8, !dbg !24, !tbaa %jtbaa_user
%43 = getelementptr double* %29, i64 %"#s1.0", !dbg !24
%44 = load double* %43, align 8, !dbg !24, !tbaa %jtbaa_user
%45 = getelementptr double* %25, i64 %"#s1.0", !dbg !24
%46 = load double* %45, align 8, !dbg !24, !tbaa %jtbaa_user
%47 = fmul double %44, %46, !dbg !24
%48 = fsub double %42, %47, !dbg !24
store double %48, double* %41, align 8, !dbg !24, !tbaa %jtbaa_user
%49 = icmp eq i64 %39, %19, !dbg !24
br i1 %49, label %L3.loopexit.us-lcssa, label %L, !dbg !24
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment