21 lines
526 B
LLVM
21 lines
526 B
LLVM
|
; RUN: %lli %s > /dev/null
|
||
|
|
||
|
define i32 @main() {
|
||
|
call i32 @mylog( i32 4 ) ; <i32>:1 [#uses=0]
|
||
|
ret i32 0
|
||
|
}
|
||
|
|
||
|
define internal i32 @mylog(i32 %num) {
|
||
|
bb0:
|
||
|
br label %bb2
|
||
|
bb2: ; preds = %bb2, %bb0
|
||
|
%reg112 = phi i32 [ 10, %bb2 ], [ 1, %bb0 ] ; <i32> [#uses=1]
|
||
|
%cann-indvar = phi i32 [ %cann-indvar, %bb2 ], [ 0, %bb0 ] ; <i32> [#uses=1]
|
||
|
%reg114 = add i32 %reg112, 1 ; <i32> [#uses=2]
|
||
|
%cond222 = icmp slt i32 %reg114, %num ; <i1> [#uses=1]
|
||
|
br i1 %cond222, label %bb2, label %bb3
|
||
|
bb3: ; preds = %bb2
|
||
|
ret i32 %reg114
|
||
|
}
|
||
|
|