blob: c1e5f738a7d98a705ab337039547007bacfd1ee5 [file] [log] [blame]
Dan Gohman3c7d3082009-09-11 18:01:28 +00001; RUN: opt < %s -tailduplicate -disable-output
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002
Tanya Lattner003eae52008-03-10 07:21:50 +00003define void @interpret() {
Dan Gohmanf17a25c2007-07-18 16:29:46 +00004entry:
5 br label %retry
Tanya Lattner003eae52008-03-10 07:21:50 +00006retry: ; preds = %endif.4, %entry
7 %tmp.8 = call i32 @interp( ) ; <i32> [#uses=3]
8 switch i32 0, label %endif.4 [
9 i32 -25, label %return
10 i32 -16, label %return
Dan Gohmanf17a25c2007-07-18 16:29:46 +000011 ]
Tanya Lattner003eae52008-03-10 07:21:50 +000012endif.4: ; preds = %retry
13 br i1 false, label %return, label %retry
14return: ; preds = %endif.4, %retry, %retry
15 %result.0 = phi i32 [ %tmp.8, %retry ], [ %tmp.8, %retry ], [ %tmp.8, %endif.4 ] ; <i32> [#uses=0]
Dan Gohmanf17a25c2007-07-18 16:29:46 +000016 ret void
17}
18
Tanya Lattner003eae52008-03-10 07:21:50 +000019declare i32 @interp()
20