2008-03-10 08:21:50 +01:00
|
|
|
; RUN: llvm-as < %s | opt -tailduplicate -disable-output
|
2003-06-22 22:32:35 +02:00
|
|
|
|
2008-03-10 08:21:50 +01:00
|
|
|
declare void @__main()
|
2003-06-22 22:32:35 +02:00
|
|
|
|
2008-03-10 08:21:50 +01:00
|
|
|
define i32 @main() {
|
|
|
|
entry:
|
|
|
|
call void @__main( )
|
2003-06-22 22:32:35 +02:00
|
|
|
br label %loopentry
|
2008-03-10 08:21:50 +01:00
|
|
|
loopentry: ; preds = %no_exit, %entry
|
|
|
|
%i.0 = phi i32 [ %inc, %no_exit ], [ 0, %entry ] ; <i32> [#uses=3]
|
|
|
|
%tmp.1 = icmp sle i32 %i.0, 99 ; <i1> [#uses=1]
|
|
|
|
br i1 %tmp.1, label %no_exit, label %return
|
2003-06-22 22:32:35 +02:00
|
|
|
no_exit: ; preds = %loopentry
|
2008-03-10 08:21:50 +01:00
|
|
|
%tmp.51 = call i32 @main( ) ; <i32> [#uses=0]
|
|
|
|
%inc = add i32 %i.0, 1 ; <i32> [#uses=1]
|
2003-06-22 22:32:35 +02:00
|
|
|
br label %loopentry
|
|
|
|
return: ; preds = %loopentry
|
2008-03-10 08:21:50 +01:00
|
|
|
ret i32 %i.0
|
2003-06-22 22:32:35 +02:00
|
|
|
}
|
2008-03-10 08:21:50 +01:00
|
|
|
|