1 ; RUN: llc < %s | grep LJT 2 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" 3 target triple = "x86_64-apple-darwin10" 4 5 declare void @f1() nounwind readnone 6 declare void @f2() nounwind readnone 7 declare void @f3() nounwind readnone 8 declare void @f4() nounwind readnone 9 declare void @f5() nounwind readnone 10 declare void @f6() nounwind readnone 11 declare void @f7() nounwind readnone 12 declare void @f8() nounwind readnone 13 declare void @f9() nounwind readnone 14 declare void @f10() nounwind readnone 15 declare void @f11() nounwind readnone 16 declare void @f12() nounwind readnone 17 declare void @f13() nounwind readnone 18 declare void @f14() nounwind readnone 19 declare void @f15() nounwind readnone 20 declare void @f16() nounwind readnone 21 declare void @f17() nounwind readnone 22 declare void @f18() nounwind readnone 23 declare void @f19() nounwind readnone 24 declare void @f20() nounwind readnone 25 declare void @f21() nounwind readnone 26 declare void @f22() nounwind readnone 27 declare void @f23() nounwind readnone 28 declare void @f24() nounwind readnone 29 declare void @f25() nounwind readnone 30 declare void @f26() nounwind readnone 31 32 define internal fastcc i32 @foo(i64 %bar) nounwind ssp { 33 entry: 34 br label %bb49 35 36 bb49: 37 switch i64 %bar, label %RETURN [ 38 i64 2, label %RRETURN_2 39 i64 3, label %RRETURN_6 40 i64 4, label %RRETURN_7 41 i64 5, label %RRETURN_14 42 i64 6, label %RRETURN_15 43 i64 7, label %RRETURN_16 44 i64 8, label %RRETURN_17 45 i64 9, label %RRETURN_18 46 i64 10, label %RRETURN_19 47 i64 11, label %RRETURN_20 48 i64 12, label %RRETURN_21 49 i64 13, label %RRETURN_22 50 i64 14, label %RRETURN_24 51 i64 15, label %RRETURN_26 52 i64 16, label %RRETURN_27 53 i64 17, label %RRETURN_28 54 i64 18, label %RRETURN_29 55 i64 19, label %RRETURN_30 56 i64 20, label %RRETURN_31 57 i64 21, label %RRETURN_38 58 i64 22, label %RRETURN_40 59 i64 23, label %RRETURN_42 60 i64 24, label %RRETURN_44 61 i64 25, label %RRETURN_48 62 i64 26, label %RRETURN_52 63 i64 27, label %RRETURN_1 64 ] 65 66 RETURN: 67 call void @f1() 68 br label %EXIT 69 70 RRETURN_2: ; preds = %bb49 71 call void @f2() 72 br label %EXIT 73 74 RRETURN_6: ; preds = %bb49 75 call void @f2() 76 br label %EXIT 77 78 RRETURN_7: ; preds = %bb49 79 call void @f3() 80 br label %EXIT 81 82 RRETURN_14: ; preds = %bb49 83 call void @f4() 84 br label %EXIT 85 86 RRETURN_15: ; preds = %bb49 87 call void @f5() 88 br label %EXIT 89 90 RRETURN_16: ; preds = %bb49 91 call void @f6() 92 br label %EXIT 93 94 RRETURN_17: ; preds = %bb49 95 call void @f7() 96 br label %EXIT 97 98 RRETURN_18: ; preds = %bb49 99 call void @f8() 100 br label %EXIT 101 102 RRETURN_19: ; preds = %bb49 103 call void @f9() 104 br label %EXIT 105 106 RRETURN_20: ; preds = %bb49 107 call void @f10() 108 br label %EXIT 109 110 RRETURN_21: ; preds = %bb49 111 call void @f11() 112 br label %EXIT 113 114 RRETURN_22: ; preds = %bb49 115 call void @f12() 116 br label %EXIT 117 118 RRETURN_24: ; preds = %bb49 119 call void @f13() 120 br label %EXIT 121 122 RRETURN_26: ; preds = %bb49 123 call void @f14() 124 br label %EXIT 125 126 RRETURN_27: ; preds = %bb49 127 call void @f15() 128 br label %EXIT 129 130 RRETURN_28: ; preds = %bb49 131 call void @f16() 132 br label %EXIT 133 134 RRETURN_29: ; preds = %bb49 135 call void @f17() 136 br label %EXIT 137 138 RRETURN_30: ; preds = %bb49 139 call void @f18() 140 br label %EXIT 141 142 RRETURN_31: ; preds = %bb49 143 call void @f19() 144 br label %EXIT 145 146 RRETURN_38: ; preds = %bb49 147 call void @f20() 148 br label %EXIT 149 150 RRETURN_40: ; preds = %bb49 151 call void @f21() 152 br label %EXIT 153 154 RRETURN_42: ; preds = %bb49 155 call void @f22() 156 br label %EXIT 157 158 RRETURN_44: ; preds = %bb49 159 call void @f23() 160 br label %EXIT 161 162 RRETURN_48: ; preds = %bb49 163 call void @f24() 164 br label %EXIT 165 166 RRETURN_52: ; preds = %bb49 167 call void @f25() 168 br label %EXIT 169 170 RRETURN_1: ; preds = %bb49 171 call void @f26() 172 br label %EXIT 173 174 EXIT: 175 ret i32 0 176 } 177