Tanya Lattner | 348c618 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | opt -lcssa | llvm-dis | \ |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 2 | ; RUN: grep {X3.lcssa = phi i32} |
Tanya Lattner | 348c618 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 3 | ; RUN: llvm-as < %s | opt -lcssa | llvm-dis | \ |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 4 | ; RUN: grep {X4 = add i32 3, %X3.lcssa} |
| 5 | |
Tanya Lattner | 348c618 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 6 | define void @lcssa(i1 %S2) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 7 | entry: |
| 8 | br label %loop.interior |
Tanya Lattner | 348c618 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 9 | loop.interior: ; preds = %post.if, %entry |
| 10 | br i1 %S2, label %if.true, label %if.false |
| 11 | if.true: ; preds = %loop.interior |
| 12 | %X1 = add i32 0, 0 ; <i32> [#uses=1] |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 13 | br label %post.if |
Tanya Lattner | 348c618 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 14 | if.false: ; preds = %loop.interior |
| 15 | %X2 = add i32 0, 1 ; <i32> [#uses=1] |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 16 | br label %post.if |
Tanya Lattner | 348c618 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 17 | post.if: ; preds = %if.false, %if.true |
| 18 | %X3 = phi i32 [ %X1, %if.true ], [ %X2, %if.false ] ; <i32> [#uses=1] |
| 19 | br i1 %S2, label %loop.exit, label %loop.interior |
| 20 | loop.exit: ; preds = %post.if |
| 21 | %X4 = add i32 3, %X3 ; <i32> [#uses=0] |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 22 | ret void |
| 23 | } |
Tanya Lattner | 348c618 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 24 | |