Dan Gohman | f2f6ce6 | 2009-09-11 18:01:28 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -simplifycfg -disable-output |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 2 | |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 3 | define void @NewExtractNames() { |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 4 | entry: |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 5 | br i1 false, label %endif.0, label %then.0 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 6 | then.0: ; preds = %entry |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 7 | br i1 false, label %shortcirc_next.i, label %shortcirc_done.i |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 8 | shortcirc_next.i: ; preds = %then.0 |
| 9 | br label %shortcirc_done.i |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 10 | shortcirc_done.i: ; preds = %shortcirc_next.i, %then.0 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 11 | br i1 false, label %then.0.i, label %else.0.i |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 12 | then.0.i: ; preds = %shortcirc_done.i |
| 13 | br label %NewBase.exit |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 14 | else.0.i: ; preds = %shortcirc_done.i |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 15 | br i1 false, label %endif.0.i, label %else.1.i |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 16 | else.1.i: ; preds = %else.0.i |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 17 | br i1 false, label %endif.0.i, label %else.2.i |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 18 | else.2.i: ; preds = %else.1.i |
| 19 | br label %NewBase.exit |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 20 | endif.0.i: ; preds = %else.1.i, %else.0.i |
| 21 | br label %NewBase.exit |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 22 | NewBase.exit: ; preds = %endif.0.i, %else.2.i, %then.0.i |
| 23 | br label %endif.0 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 24 | endif.0: ; preds = %NewBase.exit, %entry |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 25 | %tmp.32.mask = and i32 0, 31 ; <i32> [#uses=1] |
| 26 | switch i32 %tmp.32.mask, label %label.9 [ |
| 27 | i32 16, label %loopentry.2 |
| 28 | i32 15, label %loopentry.2 |
| 29 | i32 14, label %loopentry.2 |
| 30 | i32 13, label %loopentry.2 |
| 31 | i32 10, label %loopentry.2 |
| 32 | i32 20, label %loopentry.1 |
| 33 | i32 19, label %loopentry.1 |
| 34 | i32 2, label %loopentry.0 |
| 35 | i32 0, label %switchexit |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 36 | ] |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 37 | loopentry.0: ; preds = %endif.1, %endif.0 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 38 | br i1 false, label %no_exit.0, label %switchexit |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 39 | no_exit.0: ; preds = %loopentry.0 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 40 | br i1 false, label %then.1, label %else.1 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 41 | then.1: ; preds = %no_exit.0 |
| 42 | br label %endif.1 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 43 | else.1: ; preds = %no_exit.0 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 44 | br i1 false, label %shortcirc_next.0, label %shortcirc_done.0 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 45 | shortcirc_next.0: ; preds = %else.1 |
| 46 | br label %shortcirc_done.0 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 47 | shortcirc_done.0: ; preds = %shortcirc_next.0, %else.1 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 48 | br i1 false, label %then.2, label %endif.2 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 49 | then.2: ; preds = %shortcirc_done.0 |
| 50 | br label %endif.2 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 51 | endif.2: ; preds = %then.2, %shortcirc_done.0 |
| 52 | br label %endif.1 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 53 | endif.1: ; preds = %endif.2, %then.1 |
| 54 | br label %loopentry.0 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 55 | loopentry.1: ; preds = %endif.3, %endif.0, %endif.0 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 56 | br i1 false, label %no_exit.1, label %switchexit |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 57 | no_exit.1: ; preds = %loopentry.1 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 58 | br i1 false, label %then.3, label %else.2 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 59 | then.3: ; preds = %no_exit.1 |
| 60 | br label %endif.3 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 61 | else.2: ; preds = %no_exit.1 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 62 | br i1 false, label %shortcirc_next.1, label %shortcirc_done.1 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 63 | shortcirc_next.1: ; preds = %else.2 |
| 64 | br label %shortcirc_done.1 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 65 | shortcirc_done.1: ; preds = %shortcirc_next.1, %else.2 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 66 | br i1 false, label %then.4, label %endif.4 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 67 | then.4: ; preds = %shortcirc_done.1 |
| 68 | br label %endif.4 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 69 | endif.4: ; preds = %then.4, %shortcirc_done.1 |
| 70 | br label %endif.3 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 71 | endif.3: ; preds = %endif.4, %then.3 |
| 72 | br label %loopentry.1 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 73 | loopentry.2: ; preds = %endif.5, %endif.0, %endif.0, %endif.0, %endif.0, %endif.0 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 74 | %i.3 = phi i32 [ 0, %endif.5 ], [ 0, %endif.0 ], [ 0, %endif.0 ], [ 0, %endif.0 ], [ 0, %endif.0 ], [ 0, %endif.0 ] ; <i32> [#uses=1] |
| 75 | %tmp.158 = icmp slt i32 %i.3, 0 ; <i1> [#uses=1] |
| 76 | br i1 %tmp.158, label %no_exit.2, label %switchexit |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 77 | no_exit.2: ; preds = %loopentry.2 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 78 | br i1 false, label %shortcirc_next.2, label %shortcirc_done.2 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 79 | shortcirc_next.2: ; preds = %no_exit.2 |
| 80 | br label %shortcirc_done.2 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 81 | shortcirc_done.2: ; preds = %shortcirc_next.2, %no_exit.2 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 82 | br i1 false, label %then.5, label %endif.5 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 83 | then.5: ; preds = %shortcirc_done.2 |
| 84 | br label %endif.5 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 85 | endif.5: ; preds = %then.5, %shortcirc_done.2 |
| 86 | br label %loopentry.2 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 87 | label.9: ; preds = %endif.0 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 88 | br i1 false, label %then.6, label %endif.6 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 89 | then.6: ; preds = %label.9 |
| 90 | br label %endif.6 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 91 | endif.6: ; preds = %then.6, %label.9 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 92 | store i32 0, i32* null |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 93 | br label %switchexit |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 94 | switchexit: ; preds = %endif.6, %loopentry.2, %loopentry.1, %loopentry.0, %endif.0 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 95 | br i1 false, label %endif.7, label %then.7 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 96 | then.7: ; preds = %switchexit |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 97 | br i1 false, label %shortcirc_next.3, label %shortcirc_done.3 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 98 | shortcirc_next.3: ; preds = %then.7 |
| 99 | br label %shortcirc_done.3 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 100 | shortcirc_done.3: ; preds = %shortcirc_next.3, %then.7 |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 101 | br i1 false, label %then.8, label %endif.8 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 102 | then.8: ; preds = %shortcirc_done.3 |
| 103 | br label %endif.8 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 104 | endif.8: ; preds = %then.8, %shortcirc_done.3 |
| 105 | br label %endif.7 |
Chris Lattner | 07b5c9d | 2005-05-20 22:19:34 +0000 | [diff] [blame] | 106 | endif.7: ; preds = %endif.8, %switchexit |
| 107 | ret void |
| 108 | } |