Skip to content

Instantly share code, notes, and snippets.

@yuyichao
Created November 3, 2015 22:56
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/6eaa268bbdd1d2b0e165 to your computer and use it in GitHub Desktop.
Save yuyichao/6eaa268bbdd1d2b0e165 to your computer and use it in GitHub Desktop.
define i32 @julia_f_23048(i32) {
top:
%1 = icmp slt i32 %0, 1
br i1 %1, label %L.9, label %L.preheader
L.preheader: ; preds = %top
%const = bitcast i64 4294967296 to i64
%2 = sext i32 %0 to i64
%3 = sub i64 0, %2
br label %L
L: ; preds = %pass.6, %L.preheader
%lsr.iv = phi i64 [ %const, %L.preheader ], [ %lsr.iv.next, %pass.6 ]
%s.0 = phi i32 [ %8, %pass.6 ], [ 0, %L.preheader ]
%"#s1.0" = phi i64 [ %7, %pass.6 ], [ 1, %L.preheader ]
%4 = ashr exact i64 %lsr.iv, 32
%5 = icmp eq i64 %"#s1.0", %4
br i1 %5, label %pass.6, label %fail5
fail5: ; preds = %L
%6 = load %jl_value_t*, %jl_value_t** @jl_inexact_exception, align 8
call void @jl_throw(%jl_value_t* %6)
unreachable
pass.6: ; preds = %L
%7 = add i64 %"#s1.0", 1
%tmp = trunc i64 %"#s1.0" to i32
%8 = add i32 %tmp, %s.0
%9 = add i64 %3, %7
%lsr.iv.next = add i64 %lsr.iv, %const
%10 = icmp eq i64 %9, 1
br i1 %10, label %L.9, label %L
L.9: ; preds = %pass.6, %top
%s.1 = phi i32 [ 0, %top ], [ %8, %pass.6 ]
ret i32 %s.1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment