brintos

brintos / llvm-project-archived public Read only

0
0
Text · 57.5 KiB · 02a8a4f Raw
1483 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2; RUN: llc -global-isel -mtriple aarch64 -aarch64-min-jump-table-entries=4 -O0 -aarch64-enable-atomic-cfg-tidy=0 -stop-after=irtranslator -simplify-mir -verify-machineinstrs %s -o - 2>&1 | FileCheck %s3 4define i32 @switch(i32 %argc) {5  ; CHECK-LABEL: name: switch6  ; CHECK: bb.1.entry:7  ; CHECK-NEXT:   liveins: $w08  ; CHECK-NEXT: {{  $}}9  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s32) = COPY $w010  ; CHECK-NEXT:   [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 10011  ; CHECK-NEXT:   [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 20012  ; CHECK-NEXT:   [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 213  ; CHECK-NEXT:   [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 114  ; CHECK-NEXT:   [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 015  ; CHECK-NEXT:   [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]16  ; CHECK-NEXT:   G_BRCOND [[ICMP]](s1), %bb.317  ; CHECK-NEXT:   G_BR %bb.618  ; CHECK-NEXT: {{  $}}19  ; CHECK-NEXT: bb.6.entry:20  ; CHECK-NEXT:   [[ICMP1:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[C1]]21  ; CHECK-NEXT:   G_BRCOND [[ICMP1]](s1), %bb.422  ; CHECK-NEXT:   G_BR %bb.223  ; CHECK-NEXT: {{  $}}24  ; CHECK-NEXT: bb.2.default:25  ; CHECK-NEXT:   [[ADD:%[0-9]+]]:_(s32) = G_ADD [[COPY]], [[C4]]26  ; CHECK-NEXT:   G_BR %bb.527  ; CHECK-NEXT: {{  $}}28  ; CHECK-NEXT: bb.3.case100:29  ; CHECK-NEXT:   [[ADD1:%[0-9]+]]:_(s32) = G_ADD [[COPY]], [[C3]]30  ; CHECK-NEXT:   G_BR %bb.531  ; CHECK-NEXT: {{  $}}32  ; CHECK-NEXT: bb.4.case200:33  ; CHECK-NEXT:   [[ADD2:%[0-9]+]]:_(s32) = G_ADD [[COPY]], [[C2]]34  ; CHECK-NEXT:   G_BR %bb.535  ; CHECK-NEXT: {{  $}}36  ; CHECK-NEXT: bb.5.return:37  ; CHECK-NEXT:   [[PHI:%[0-9]+]]:_(s32) = G_PHI [[ADD]](s32), %bb.2, [[ADD1]](s32), %bb.3, [[ADD2]](s32), %bb.438  ; CHECK-NEXT:   $w0 = COPY [[PHI]](s32)39  ; CHECK-NEXT:   RET_ReallyLR implicit $w040entry:41  switch i32 %argc, label %default [42    i32 100, label %case10043    i32 200, label %case20044  ]45 46default:47  %tmp0 = add i32 %argc, 048  br label %return49 50case100:51  %tmp1 = add i32 %argc, 152  br label %return53 54case200:55  %tmp2 = add i32 %argc, 256  br label %return57 58return:59  %res = phi i32 [ %tmp0, %default ], [ %tmp1, %case100 ], [ %tmp2, %case200 ]60  ret i32 %res61}62 63define i32 @test_cfg_remap(i32 %in) {64  ; CHECK-LABEL: name: test_cfg_remap65  ; CHECK: bb.1.entry:66  ; CHECK-NEXT:   liveins: $w067  ; CHECK-NEXT: {{  $}}68  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s32) = COPY $w069  ; CHECK-NEXT:   [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 170  ; CHECK-NEXT:   [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 5771  ; CHECK-NEXT:   [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF72  ; CHECK-NEXT:   [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 4273  ; CHECK-NEXT:   [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]74  ; CHECK-NEXT:   G_BRCOND [[ICMP]](s1), %bb.275  ; CHECK-NEXT:   G_BR %bb.576  ; CHECK-NEXT: {{  $}}77  ; CHECK-NEXT: bb.5.entry:78  ; CHECK-NEXT:   [[ICMP1:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[C1]]79  ; CHECK-NEXT:   G_BRCOND [[ICMP1]](s1), %bb.380  ; CHECK-NEXT:   G_BR %bb.481  ; CHECK-NEXT: {{  $}}82  ; CHECK-NEXT: bb.2.next:83  ; CHECK-NEXT:   G_BR %bb.484  ; CHECK-NEXT: {{  $}}85  ; CHECK-NEXT: bb.3.other:86  ; CHECK-NEXT:   $w0 = COPY [[DEF]](s32)87  ; CHECK-NEXT:   RET_ReallyLR implicit $w088  ; CHECK-NEXT: {{  $}}89  ; CHECK-NEXT: bb.4.phi.block:90  ; CHECK-NEXT:   [[PHI:%[0-9]+]]:_(s32) = G_PHI [[C]](s32), %bb.5, [[C2]](s32), %bb.291  ; CHECK-NEXT:   $w0 = COPY [[PHI]](s32)92  ; CHECK-NEXT:   RET_ReallyLR implicit $w093entry:94  switch i32 %in, label %phi.block [i32 1, label %next95                                    i32 57, label %other]96 97next:98  br label %phi.block99 100other:101  ret i32 undef102 103phi.block:104  %res = phi i32 [1, %entry], [42, %next]105  ret i32 %res106}107 108define i32 @test_cfg_remap_multiple_preds(i32 %in) {109  ; CHECK-LABEL: name: test_cfg_remap_multiple_preds110  ; CHECK: bb.1.entry:111  ; CHECK-NEXT:   liveins: $w0112  ; CHECK-NEXT: {{  $}}113  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s32) = COPY $w0114  ; CHECK-NEXT:   [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1115  ; CHECK-NEXT:   [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 57116  ; CHECK-NEXT:   [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 128117  ; CHECK-NEXT:   [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF118  ; CHECK-NEXT:   [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 12119  ; CHECK-NEXT:   [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 42120  ; CHECK-NEXT:   [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]121  ; CHECK-NEXT:   G_BRCOND [[ICMP]](s1), %bb.3122  ; CHECK-NEXT:   G_BR %bb.6123  ; CHECK-NEXT: {{  $}}124  ; CHECK-NEXT: bb.6.entry:125  ; CHECK-NEXT:   [[ICMP1:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[C1]]126  ; CHECK-NEXT:   G_BRCOND [[ICMP1]](s1), %bb.4127  ; CHECK-NEXT:   G_BR %bb.7128  ; CHECK-NEXT: {{  $}}129  ; CHECK-NEXT: bb.7.entry:130  ; CHECK-NEXT:   [[ICMP2:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[C2]]131  ; CHECK-NEXT:   G_BRCOND [[ICMP2]](s1), %bb.5132  ; CHECK-NEXT:   G_BR %bb.8133  ; CHECK-NEXT: {{  $}}134  ; CHECK-NEXT: bb.8.entry:135  ; CHECK-NEXT:   G_BR %bb.5136  ; CHECK-NEXT: {{  $}}137  ; CHECK-NEXT: bb.2.odd:138  ; CHECK-NEXT:   successors:139  ; CHECK-NEXT: {{  $}}140  ; CHECK-NEXT: bb.3.next:141  ; CHECK-NEXT:   G_BR %bb.5142  ; CHECK-NEXT: {{  $}}143  ; CHECK-NEXT: bb.4.other:144  ; CHECK-NEXT:   $w0 = COPY [[DEF]](s32)145  ; CHECK-NEXT:   RET_ReallyLR implicit $w0146  ; CHECK-NEXT: {{  $}}147  ; CHECK-NEXT: bb.5.phi.block:148  ; CHECK-NEXT:   [[PHI:%[0-9]+]]:_(s32) = G_PHI [[C]](s32), %bb.7, [[C]](s32), %bb.8, [[C4]](s32), %bb.3149  ; CHECK-NEXT:   $w0 = COPY [[C3]](s32)150  ; CHECK-NEXT:   RET_ReallyLR implicit $w0151entry:152  switch i32 %in, label %odd [i32 1, label %next153                              i32 57, label %other154                              i32 128, label %phi.block155                              i32 256, label %phi.block]156odd:157  unreachable158 159next:160  br label %phi.block161 162other:163  ret i32 undef164 165phi.block:166  %res = phi i32 [1, %entry], [1, %entry], [42, %next]167  ret i32 12168}169 170define i32 @jt_test(i32 %x) {171  ; CHECK-LABEL: name: jt_test172  ; CHECK: bb.1.entry:173  ; CHECK-NEXT:   liveins: $w0174  ; CHECK-NEXT: {{  $}}175  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s32) = COPY $w0176  ; CHECK-NEXT:   [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 71177  ; CHECK-NEXT:   [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 3178  ; CHECK-NEXT:   [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 42179  ; CHECK-NEXT:   [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 0180  ; CHECK-NEXT:   [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 4181  ; CHECK-NEXT:   [[SUB:%[0-9]+]]:_(s32) = G_SUB [[COPY]], [[C4]]182  ; CHECK-NEXT:   [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[SUB]](s32)183  ; CHECK-NEXT:   [[ZEXT1:%[0-9]+]]:_(s64) = G_ZEXT [[C]](s32)184  ; CHECK-NEXT:   [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(ugt), [[ZEXT]](s64), [[ZEXT1]]185  ; CHECK-NEXT:   G_BRCOND [[ICMP]](s1), %bb.4186  ; CHECK-NEXT: {{  $}}187  ; CHECK-NEXT: bb.5.entry:188  ; CHECK-NEXT:   successors: %bb.3, %bb.4, %bb.2189  ; CHECK-NEXT: {{  $}}190  ; CHECK-NEXT:   [[JUMP_TABLE:%[0-9]+]]:_(p0) = G_JUMP_TABLE %jump-table.0191  ; CHECK-NEXT:   G_BRJT [[JUMP_TABLE]](p0), %jump-table.0, [[ZEXT]](s64)192  ; CHECK-NEXT: {{  $}}193  ; CHECK-NEXT: bb.2.sw.bb:194  ; CHECK-NEXT:   [[ADD:%[0-9]+]]:_(s32) = nsw G_ADD [[COPY]], [[C2]]195  ; CHECK-NEXT:   G_BR %bb.4196  ; CHECK-NEXT: {{  $}}197  ; CHECK-NEXT: bb.3.sw.bb1:198  ; CHECK-NEXT:   [[MUL:%[0-9]+]]:_(s32) = nsw G_MUL [[COPY]], [[C1]]199  ; CHECK-NEXT:   G_BR %bb.4200  ; CHECK-NEXT: {{  $}}201  ; CHECK-NEXT: bb.4.return:202  ; CHECK-NEXT:   [[PHI:%[0-9]+]]:_(s32) = G_PHI [[MUL]](s32), %bb.3, [[ADD]](s32), %bb.2, [[C3]](s32), %bb.1, [[C3]](s32), %bb.5203  ; CHECK-NEXT:   $w0 = COPY [[PHI]](s32)204  ; CHECK-NEXT:   RET_ReallyLR implicit $w0205entry:206  switch i32 %x, label %return [207    i32 75, label %sw.bb208    i32 34, label %sw.bb209    i32 56, label %sw.bb210    i32 35, label %sw.bb211    i32 40, label %sw.bb212    i32 4, label %sw.bb1213    i32 5, label %sw.bb1214    i32 6, label %sw.bb1215  ]216 217sw.bb:218  %add = add nsw i32 %x, 42219  br label %return220 221sw.bb1:222  %mul = mul nsw i32 %x, 3223  br label %return224 225return:226  %retval.0 = phi i32 [ %mul, %sw.bb1 ], [ %add, %sw.bb ], [ 0, %entry ]227  ret i32 %retval.0228}229 230%0 = type { i32, ptr }231%1 = type { ptr, i32, i32 }232 233@global = external hidden constant [55 x %0], align 8234 235define void @jt_multiple_jump_tables(ptr %arg, i32 %arg1, ptr %arg2) {236  ; CHECK-LABEL: name: jt_multiple_jump_tables237  ; CHECK: bb.1.bb:238  ; CHECK-NEXT:   liveins: $w1, $x0, $x2239  ; CHECK-NEXT: {{  $}}240  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(p0) = COPY $x0241  ; CHECK-NEXT:   [[COPY1:%[0-9]+]]:_(s32) = COPY $w1242  ; CHECK-NEXT:   [[COPY2:%[0-9]+]]:_(p0) = COPY $x2243  ; CHECK-NEXT:   [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 3244  ; CHECK-NEXT:   [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 4245  ; CHECK-NEXT:   [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 6246  ; CHECK-NEXT:   [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 7247  ; CHECK-NEXT:   [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 8248  ; CHECK-NEXT:   [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 9249  ; CHECK-NEXT:   [[C6:%[0-9]+]]:_(s32) = G_CONSTANT i32 10250  ; CHECK-NEXT:   [[C7:%[0-9]+]]:_(s32) = G_CONSTANT i32 11251  ; CHECK-NEXT:   [[C8:%[0-9]+]]:_(s32) = G_CONSTANT i32 12252  ; CHECK-NEXT:   [[C9:%[0-9]+]]:_(s32) = G_CONSTANT i32 13253  ; CHECK-NEXT:   [[C10:%[0-9]+]]:_(s32) = G_CONSTANT i32 14254  ; CHECK-NEXT:   [[C11:%[0-9]+]]:_(s32) = G_CONSTANT i32 15255  ; CHECK-NEXT:   [[C12:%[0-9]+]]:_(s32) = G_CONSTANT i32 16256  ; CHECK-NEXT:   [[C13:%[0-9]+]]:_(s32) = G_CONSTANT i32 17257  ; CHECK-NEXT:   [[C14:%[0-9]+]]:_(s32) = G_CONSTANT i32 18258  ; CHECK-NEXT:   [[C15:%[0-9]+]]:_(s32) = G_CONSTANT i32 19259  ; CHECK-NEXT:   [[C16:%[0-9]+]]:_(s32) = G_CONSTANT i32 20260  ; CHECK-NEXT:   [[C17:%[0-9]+]]:_(s32) = G_CONSTANT i32 21261  ; CHECK-NEXT:   [[C18:%[0-9]+]]:_(s32) = G_CONSTANT i32 22262  ; CHECK-NEXT:   [[C19:%[0-9]+]]:_(s32) = G_CONSTANT i32 23263  ; CHECK-NEXT:   [[C20:%[0-9]+]]:_(s32) = G_CONSTANT i32 24264  ; CHECK-NEXT:   [[C21:%[0-9]+]]:_(s32) = G_CONSTANT i32 25265  ; CHECK-NEXT:   [[C22:%[0-9]+]]:_(s32) = G_CONSTANT i32 26266  ; CHECK-NEXT:   [[C23:%[0-9]+]]:_(s32) = G_CONSTANT i32 27267  ; CHECK-NEXT:   [[C24:%[0-9]+]]:_(s32) = G_CONSTANT i32 28268  ; CHECK-NEXT:   [[C25:%[0-9]+]]:_(s32) = G_CONSTANT i32 29269  ; CHECK-NEXT:   [[C26:%[0-9]+]]:_(s32) = G_CONSTANT i32 30270  ; CHECK-NEXT:   [[C27:%[0-9]+]]:_(s32) = G_CONSTANT i32 31271  ; CHECK-NEXT:   [[C28:%[0-9]+]]:_(s32) = G_CONSTANT i32 32272  ; CHECK-NEXT:   [[C29:%[0-9]+]]:_(s32) = G_CONSTANT i32 33273  ; CHECK-NEXT:   [[C30:%[0-9]+]]:_(s32) = G_CONSTANT i32 34274  ; CHECK-NEXT:   [[C31:%[0-9]+]]:_(s32) = G_CONSTANT i32 35275  ; CHECK-NEXT:   [[C32:%[0-9]+]]:_(s32) = G_CONSTANT i32 36276  ; CHECK-NEXT:   [[C33:%[0-9]+]]:_(s32) = G_CONSTANT i32 37277  ; CHECK-NEXT:   [[C34:%[0-9]+]]:_(s32) = G_CONSTANT i32 38278  ; CHECK-NEXT:   [[C35:%[0-9]+]]:_(s32) = G_CONSTANT i32 39279  ; CHECK-NEXT:   [[C36:%[0-9]+]]:_(s32) = G_CONSTANT i32 41280  ; CHECK-NEXT:   [[C37:%[0-9]+]]:_(s32) = G_CONSTANT i32 42281  ; CHECK-NEXT:   [[C38:%[0-9]+]]:_(s32) = G_CONSTANT i32 43282  ; CHECK-NEXT:   [[C39:%[0-9]+]]:_(s32) = G_CONSTANT i32 44283  ; CHECK-NEXT:   [[C40:%[0-9]+]]:_(s32) = G_CONSTANT i32 45284  ; CHECK-NEXT:   [[C41:%[0-9]+]]:_(s32) = G_CONSTANT i32 46285  ; CHECK-NEXT:   [[C42:%[0-9]+]]:_(s32) = G_CONSTANT i32 47286  ; CHECK-NEXT:   [[C43:%[0-9]+]]:_(s32) = G_CONSTANT i32 48287  ; CHECK-NEXT:   [[C44:%[0-9]+]]:_(s32) = G_CONSTANT i32 49288  ; CHECK-NEXT:   [[C45:%[0-9]+]]:_(s32) = G_CONSTANT i32 50289  ; CHECK-NEXT:   [[C46:%[0-9]+]]:_(s32) = G_CONSTANT i32 51290  ; CHECK-NEXT:   [[C47:%[0-9]+]]:_(s32) = G_CONSTANT i32 52291  ; CHECK-NEXT:   [[C48:%[0-9]+]]:_(s32) = G_CONSTANT i32 53292  ; CHECK-NEXT:   [[C49:%[0-9]+]]:_(s32) = G_CONSTANT i32 54293  ; CHECK-NEXT:   [[C50:%[0-9]+]]:_(s32) = G_CONSTANT i32 55294  ; CHECK-NEXT:   [[C51:%[0-9]+]]:_(s32) = G_CONSTANT i32 4352295  ; CHECK-NEXT:   [[C52:%[0-9]+]]:_(s32) = G_CONSTANT i32 4353296  ; CHECK-NEXT:   [[C53:%[0-9]+]]:_(s32) = G_CONSTANT i32 4354297  ; CHECK-NEXT:   [[C54:%[0-9]+]]:_(s32) = G_CONSTANT i32 4355298  ; CHECK-NEXT:   [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @global299  ; CHECK-NEXT:   [[C55:%[0-9]+]]:_(p0) = G_CONSTANT i64 0300  ; CHECK-NEXT:   [[C56:%[0-9]+]]:_(s64) = G_CONSTANT i64 0301  ; CHECK-NEXT:   [[C57:%[0-9]+]]:_(s64) = G_CONSTANT i64 1302  ; CHECK-NEXT:   [[C58:%[0-9]+]]:_(s64) = G_CONSTANT i64 2303  ; CHECK-NEXT:   [[C59:%[0-9]+]]:_(s64) = G_CONSTANT i64 3304  ; CHECK-NEXT:   [[C60:%[0-9]+]]:_(s64) = G_CONSTANT i64 4305  ; CHECK-NEXT:   [[C61:%[0-9]+]]:_(s64) = G_CONSTANT i64 5306  ; CHECK-NEXT:   [[C62:%[0-9]+]]:_(s64) = G_CONSTANT i64 6307  ; CHECK-NEXT:   [[C63:%[0-9]+]]:_(s64) = G_CONSTANT i64 7308  ; CHECK-NEXT:   [[C64:%[0-9]+]]:_(s64) = G_CONSTANT i64 8309  ; CHECK-NEXT:   [[C65:%[0-9]+]]:_(s64) = G_CONSTANT i64 9310  ; CHECK-NEXT:   [[C66:%[0-9]+]]:_(s64) = G_CONSTANT i64 10311  ; CHECK-NEXT:   [[C67:%[0-9]+]]:_(s64) = G_CONSTANT i64 11312  ; CHECK-NEXT:   [[C68:%[0-9]+]]:_(s64) = G_CONSTANT i64 12313  ; CHECK-NEXT:   [[C69:%[0-9]+]]:_(s64) = G_CONSTANT i64 13314  ; CHECK-NEXT:   [[C70:%[0-9]+]]:_(s64) = G_CONSTANT i64 14315  ; CHECK-NEXT:   [[C71:%[0-9]+]]:_(s64) = G_CONSTANT i64 15316  ; CHECK-NEXT:   [[C72:%[0-9]+]]:_(s64) = G_CONSTANT i64 16317  ; CHECK-NEXT:   [[C73:%[0-9]+]]:_(s64) = G_CONSTANT i64 17318  ; CHECK-NEXT:   [[C74:%[0-9]+]]:_(s64) = G_CONSTANT i64 18319  ; CHECK-NEXT:   [[C75:%[0-9]+]]:_(s64) = G_CONSTANT i64 19320  ; CHECK-NEXT:   [[C76:%[0-9]+]]:_(s64) = G_CONSTANT i64 20321  ; CHECK-NEXT:   [[C77:%[0-9]+]]:_(s64) = G_CONSTANT i64 21322  ; CHECK-NEXT:   [[C78:%[0-9]+]]:_(s64) = G_CONSTANT i64 22323  ; CHECK-NEXT:   [[C79:%[0-9]+]]:_(s64) = G_CONSTANT i64 23324  ; CHECK-NEXT:   [[C80:%[0-9]+]]:_(s64) = G_CONSTANT i64 24325  ; CHECK-NEXT:   [[C81:%[0-9]+]]:_(s64) = G_CONSTANT i64 25326  ; CHECK-NEXT:   [[C82:%[0-9]+]]:_(s64) = G_CONSTANT i64 26327  ; CHECK-NEXT:   [[C83:%[0-9]+]]:_(s64) = G_CONSTANT i64 27328  ; CHECK-NEXT:   [[C84:%[0-9]+]]:_(s64) = G_CONSTANT i64 28329  ; CHECK-NEXT:   [[C85:%[0-9]+]]:_(s64) = G_CONSTANT i64 29330  ; CHECK-NEXT:   [[C86:%[0-9]+]]:_(s64) = G_CONSTANT i64 30331  ; CHECK-NEXT:   [[C87:%[0-9]+]]:_(s64) = G_CONSTANT i64 31332  ; CHECK-NEXT:   [[C88:%[0-9]+]]:_(s64) = G_CONSTANT i64 32333  ; CHECK-NEXT:   [[C89:%[0-9]+]]:_(s64) = G_CONSTANT i64 33334  ; CHECK-NEXT:   [[C90:%[0-9]+]]:_(s64) = G_CONSTANT i64 34335  ; CHECK-NEXT:   [[C91:%[0-9]+]]:_(s64) = G_CONSTANT i64 35336  ; CHECK-NEXT:   [[C92:%[0-9]+]]:_(s64) = G_CONSTANT i64 36337  ; CHECK-NEXT:   [[C93:%[0-9]+]]:_(s64) = G_CONSTANT i64 37338  ; CHECK-NEXT:   [[C94:%[0-9]+]]:_(s64) = G_CONSTANT i64 38339  ; CHECK-NEXT:   [[C95:%[0-9]+]]:_(s64) = G_CONSTANT i64 39340  ; CHECK-NEXT:   [[C96:%[0-9]+]]:_(s64) = G_CONSTANT i64 40341  ; CHECK-NEXT:   [[C97:%[0-9]+]]:_(s64) = G_CONSTANT i64 41342  ; CHECK-NEXT:   [[C98:%[0-9]+]]:_(s64) = G_CONSTANT i64 42343  ; CHECK-NEXT:   [[C99:%[0-9]+]]:_(s64) = G_CONSTANT i64 43344  ; CHECK-NEXT:   [[C100:%[0-9]+]]:_(s64) = G_CONSTANT i64 44345  ; CHECK-NEXT:   [[C101:%[0-9]+]]:_(s64) = G_CONSTANT i64 45346  ; CHECK-NEXT:   [[C102:%[0-9]+]]:_(s64) = G_CONSTANT i64 46347  ; CHECK-NEXT:   [[C103:%[0-9]+]]:_(s64) = G_CONSTANT i64 47348  ; CHECK-NEXT:   [[C104:%[0-9]+]]:_(s64) = G_CONSTANT i64 48349  ; CHECK-NEXT:   [[C105:%[0-9]+]]:_(s64) = G_CONSTANT i64 49350  ; CHECK-NEXT:   [[C106:%[0-9]+]]:_(s64) = G_CONSTANT i64 50351  ; CHECK-NEXT:   [[C107:%[0-9]+]]:_(s64) = G_CONSTANT i64 51352  ; CHECK-NEXT:   [[C108:%[0-9]+]]:_(s64) = G_CONSTANT i64 52353  ; CHECK-NEXT:   [[C109:%[0-9]+]]:_(s64) = G_CONSTANT i64 53354  ; CHECK-NEXT:   [[C110:%[0-9]+]]:_(s64) = G_CONSTANT i64 54355  ; CHECK-NEXT:   [[FRAME_INDEX:%[0-9]+]]:_(p0) = G_FRAME_INDEX %stack.0.tmp356  ; CHECK-NEXT:   [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]357  ; CHECK-NEXT:   G_BRCOND [[ICMP]](s1), %bb.56358  ; CHECK-NEXT:   G_BR %bb.61359  ; CHECK-NEXT: {{  $}}360  ; CHECK-NEXT: bb.61.bb:361  ; CHECK-NEXT:   [[ICMP1:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C1]]362  ; CHECK-NEXT:   G_BRCOND [[ICMP1]](s1), %bb.2363  ; CHECK-NEXT:   G_BR %bb.62364  ; CHECK-NEXT: {{  $}}365  ; CHECK-NEXT: bb.62.bb:366  ; CHECK-NEXT:   [[ICMP2:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C2]]367  ; CHECK-NEXT:   G_BRCOND [[ICMP2]](s1), %bb.3368  ; CHECK-NEXT:   G_BR %bb.63369  ; CHECK-NEXT: {{  $}}370  ; CHECK-NEXT: bb.63.bb:371  ; CHECK-NEXT:   [[ICMP3:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C3]]372  ; CHECK-NEXT:   G_BRCOND [[ICMP3]](s1), %bb.4373  ; CHECK-NEXT:   G_BR %bb.64374  ; CHECK-NEXT: {{  $}}375  ; CHECK-NEXT: bb.64.bb:376  ; CHECK-NEXT:   [[ICMP4:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C4]]377  ; CHECK-NEXT:   G_BRCOND [[ICMP4]](s1), %bb.5378  ; CHECK-NEXT:   G_BR %bb.65379  ; CHECK-NEXT: {{  $}}380  ; CHECK-NEXT: bb.65.bb:381  ; CHECK-NEXT:   [[ICMP5:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C5]]382  ; CHECK-NEXT:   G_BRCOND [[ICMP5]](s1), %bb.6383  ; CHECK-NEXT:   G_BR %bb.66384  ; CHECK-NEXT: {{  $}}385  ; CHECK-NEXT: bb.66.bb:386  ; CHECK-NEXT:   [[ICMP6:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C6]]387  ; CHECK-NEXT:   G_BRCOND [[ICMP6]](s1), %bb.7388  ; CHECK-NEXT:   G_BR %bb.67389  ; CHECK-NEXT: {{  $}}390  ; CHECK-NEXT: bb.67.bb:391  ; CHECK-NEXT:   [[ICMP7:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C7]]392  ; CHECK-NEXT:   G_BRCOND [[ICMP7]](s1), %bb.8393  ; CHECK-NEXT:   G_BR %bb.68394  ; CHECK-NEXT: {{  $}}395  ; CHECK-NEXT: bb.68.bb:396  ; CHECK-NEXT:   [[ICMP8:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C8]]397  ; CHECK-NEXT:   G_BRCOND [[ICMP8]](s1), %bb.9398  ; CHECK-NEXT:   G_BR %bb.69399  ; CHECK-NEXT: {{  $}}400  ; CHECK-NEXT: bb.69.bb:401  ; CHECK-NEXT:   [[ICMP9:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C9]]402  ; CHECK-NEXT:   G_BRCOND [[ICMP9]](s1), %bb.10403  ; CHECK-NEXT:   G_BR %bb.70404  ; CHECK-NEXT: {{  $}}405  ; CHECK-NEXT: bb.70.bb:406  ; CHECK-NEXT:   [[ICMP10:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C10]]407  ; CHECK-NEXT:   G_BRCOND [[ICMP10]](s1), %bb.11408  ; CHECK-NEXT:   G_BR %bb.71409  ; CHECK-NEXT: {{  $}}410  ; CHECK-NEXT: bb.71.bb:411  ; CHECK-NEXT:   [[ICMP11:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C11]]412  ; CHECK-NEXT:   G_BRCOND [[ICMP11]](s1), %bb.12413  ; CHECK-NEXT:   G_BR %bb.72414  ; CHECK-NEXT: {{  $}}415  ; CHECK-NEXT: bb.72.bb:416  ; CHECK-NEXT:   [[ICMP12:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C12]]417  ; CHECK-NEXT:   G_BRCOND [[ICMP12]](s1), %bb.13418  ; CHECK-NEXT:   G_BR %bb.73419  ; CHECK-NEXT: {{  $}}420  ; CHECK-NEXT: bb.73.bb:421  ; CHECK-NEXT:   [[ICMP13:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C13]]422  ; CHECK-NEXT:   G_BRCOND [[ICMP13]](s1), %bb.14423  ; CHECK-NEXT:   G_BR %bb.74424  ; CHECK-NEXT: {{  $}}425  ; CHECK-NEXT: bb.74.bb:426  ; CHECK-NEXT:   [[ICMP14:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C14]]427  ; CHECK-NEXT:   G_BRCOND [[ICMP14]](s1), %bb.15428  ; CHECK-NEXT:   G_BR %bb.75429  ; CHECK-NEXT: {{  $}}430  ; CHECK-NEXT: bb.75.bb:431  ; CHECK-NEXT:   [[ICMP15:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C15]]432  ; CHECK-NEXT:   G_BRCOND [[ICMP15]](s1), %bb.16433  ; CHECK-NEXT:   G_BR %bb.76434  ; CHECK-NEXT: {{  $}}435  ; CHECK-NEXT: bb.76.bb:436  ; CHECK-NEXT:   [[ICMP16:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C16]]437  ; CHECK-NEXT:   G_BRCOND [[ICMP16]](s1), %bb.17438  ; CHECK-NEXT:   G_BR %bb.77439  ; CHECK-NEXT: {{  $}}440  ; CHECK-NEXT: bb.77.bb:441  ; CHECK-NEXT:   [[ICMP17:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C17]]442  ; CHECK-NEXT:   G_BRCOND [[ICMP17]](s1), %bb.18443  ; CHECK-NEXT:   G_BR %bb.78444  ; CHECK-NEXT: {{  $}}445  ; CHECK-NEXT: bb.78.bb:446  ; CHECK-NEXT:   [[ICMP18:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C18]]447  ; CHECK-NEXT:   G_BRCOND [[ICMP18]](s1), %bb.19448  ; CHECK-NEXT:   G_BR %bb.79449  ; CHECK-NEXT: {{  $}}450  ; CHECK-NEXT: bb.79.bb:451  ; CHECK-NEXT:   [[ICMP19:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C19]]452  ; CHECK-NEXT:   G_BRCOND [[ICMP19]](s1), %bb.20453  ; CHECK-NEXT:   G_BR %bb.80454  ; CHECK-NEXT: {{  $}}455  ; CHECK-NEXT: bb.80.bb:456  ; CHECK-NEXT:   [[ICMP20:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C20]]457  ; CHECK-NEXT:   G_BRCOND [[ICMP20]](s1), %bb.21458  ; CHECK-NEXT:   G_BR %bb.81459  ; CHECK-NEXT: {{  $}}460  ; CHECK-NEXT: bb.81.bb:461  ; CHECK-NEXT:   [[ICMP21:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C21]]462  ; CHECK-NEXT:   G_BRCOND [[ICMP21]](s1), %bb.22463  ; CHECK-NEXT:   G_BR %bb.82464  ; CHECK-NEXT: {{  $}}465  ; CHECK-NEXT: bb.82.bb:466  ; CHECK-NEXT:   [[ICMP22:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C22]]467  ; CHECK-NEXT:   G_BRCOND [[ICMP22]](s1), %bb.23468  ; CHECK-NEXT:   G_BR %bb.83469  ; CHECK-NEXT: {{  $}}470  ; CHECK-NEXT: bb.83.bb:471  ; CHECK-NEXT:   [[ICMP23:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C23]]472  ; CHECK-NEXT:   G_BRCOND [[ICMP23]](s1), %bb.24473  ; CHECK-NEXT:   G_BR %bb.84474  ; CHECK-NEXT: {{  $}}475  ; CHECK-NEXT: bb.84.bb:476  ; CHECK-NEXT:   [[ICMP24:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C24]]477  ; CHECK-NEXT:   G_BRCOND [[ICMP24]](s1), %bb.25478  ; CHECK-NEXT:   G_BR %bb.85479  ; CHECK-NEXT: {{  $}}480  ; CHECK-NEXT: bb.85.bb:481  ; CHECK-NEXT:   [[ICMP25:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C25]]482  ; CHECK-NEXT:   G_BRCOND [[ICMP25]](s1), %bb.26483  ; CHECK-NEXT:   G_BR %bb.86484  ; CHECK-NEXT: {{  $}}485  ; CHECK-NEXT: bb.86.bb:486  ; CHECK-NEXT:   [[ICMP26:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C26]]487  ; CHECK-NEXT:   G_BRCOND [[ICMP26]](s1), %bb.27488  ; CHECK-NEXT:   G_BR %bb.87489  ; CHECK-NEXT: {{  $}}490  ; CHECK-NEXT: bb.87.bb:491  ; CHECK-NEXT:   [[ICMP27:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C27]]492  ; CHECK-NEXT:   G_BRCOND [[ICMP27]](s1), %bb.28493  ; CHECK-NEXT:   G_BR %bb.88494  ; CHECK-NEXT: {{  $}}495  ; CHECK-NEXT: bb.88.bb:496  ; CHECK-NEXT:   [[ICMP28:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C28]]497  ; CHECK-NEXT:   G_BRCOND [[ICMP28]](s1), %bb.29498  ; CHECK-NEXT:   G_BR %bb.89499  ; CHECK-NEXT: {{  $}}500  ; CHECK-NEXT: bb.89.bb:501  ; CHECK-NEXT:   [[ICMP29:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C29]]502  ; CHECK-NEXT:   G_BRCOND [[ICMP29]](s1), %bb.30503  ; CHECK-NEXT:   G_BR %bb.90504  ; CHECK-NEXT: {{  $}}505  ; CHECK-NEXT: bb.90.bb:506  ; CHECK-NEXT:   [[ICMP30:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C30]]507  ; CHECK-NEXT:   G_BRCOND [[ICMP30]](s1), %bb.31508  ; CHECK-NEXT:   G_BR %bb.91509  ; CHECK-NEXT: {{  $}}510  ; CHECK-NEXT: bb.91.bb:511  ; CHECK-NEXT:   [[ICMP31:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C31]]512  ; CHECK-NEXT:   G_BRCOND [[ICMP31]](s1), %bb.32513  ; CHECK-NEXT:   G_BR %bb.92514  ; CHECK-NEXT: {{  $}}515  ; CHECK-NEXT: bb.92.bb:516  ; CHECK-NEXT:   [[ICMP32:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C32]]517  ; CHECK-NEXT:   G_BRCOND [[ICMP32]](s1), %bb.33518  ; CHECK-NEXT:   G_BR %bb.93519  ; CHECK-NEXT: {{  $}}520  ; CHECK-NEXT: bb.93.bb:521  ; CHECK-NEXT:   [[ICMP33:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C33]]522  ; CHECK-NEXT:   G_BRCOND [[ICMP33]](s1), %bb.34523  ; CHECK-NEXT:   G_BR %bb.94524  ; CHECK-NEXT: {{  $}}525  ; CHECK-NEXT: bb.94.bb:526  ; CHECK-NEXT:   [[ICMP34:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C34]]527  ; CHECK-NEXT:   G_BRCOND [[ICMP34]](s1), %bb.35528  ; CHECK-NEXT:   G_BR %bb.95529  ; CHECK-NEXT: {{  $}}530  ; CHECK-NEXT: bb.95.bb:531  ; CHECK-NEXT:   [[ICMP35:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C35]]532  ; CHECK-NEXT:   G_BRCOND [[ICMP35]](s1), %bb.36533  ; CHECK-NEXT:   G_BR %bb.96534  ; CHECK-NEXT: {{  $}}535  ; CHECK-NEXT: bb.96.bb:536  ; CHECK-NEXT:   [[ICMP36:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C36]]537  ; CHECK-NEXT:   G_BRCOND [[ICMP36]](s1), %bb.37538  ; CHECK-NEXT:   G_BR %bb.97539  ; CHECK-NEXT: {{  $}}540  ; CHECK-NEXT: bb.97.bb:541  ; CHECK-NEXT:   [[ICMP37:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C37]]542  ; CHECK-NEXT:   G_BRCOND [[ICMP37]](s1), %bb.38543  ; CHECK-NEXT:   G_BR %bb.98544  ; CHECK-NEXT: {{  $}}545  ; CHECK-NEXT: bb.98.bb:546  ; CHECK-NEXT:   [[ICMP38:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C38]]547  ; CHECK-NEXT:   G_BRCOND [[ICMP38]](s1), %bb.39548  ; CHECK-NEXT:   G_BR %bb.99549  ; CHECK-NEXT: {{  $}}550  ; CHECK-NEXT: bb.99.bb:551  ; CHECK-NEXT:   [[ICMP39:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C39]]552  ; CHECK-NEXT:   G_BRCOND [[ICMP39]](s1), %bb.40553  ; CHECK-NEXT:   G_BR %bb.100554  ; CHECK-NEXT: {{  $}}555  ; CHECK-NEXT: bb.100.bb:556  ; CHECK-NEXT:   [[ICMP40:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C40]]557  ; CHECK-NEXT:   G_BRCOND [[ICMP40]](s1), %bb.41558  ; CHECK-NEXT:   G_BR %bb.101559  ; CHECK-NEXT: {{  $}}560  ; CHECK-NEXT: bb.101.bb:561  ; CHECK-NEXT:   [[ICMP41:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C41]]562  ; CHECK-NEXT:   G_BRCOND [[ICMP41]](s1), %bb.42563  ; CHECK-NEXT:   G_BR %bb.102564  ; CHECK-NEXT: {{  $}}565  ; CHECK-NEXT: bb.102.bb:566  ; CHECK-NEXT:   [[ICMP42:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C42]]567  ; CHECK-NEXT:   G_BRCOND [[ICMP42]](s1), %bb.43568  ; CHECK-NEXT:   G_BR %bb.103569  ; CHECK-NEXT: {{  $}}570  ; CHECK-NEXT: bb.103.bb:571  ; CHECK-NEXT:   [[ICMP43:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C43]]572  ; CHECK-NEXT:   G_BRCOND [[ICMP43]](s1), %bb.44573  ; CHECK-NEXT:   G_BR %bb.104574  ; CHECK-NEXT: {{  $}}575  ; CHECK-NEXT: bb.104.bb:576  ; CHECK-NEXT:   [[ICMP44:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C44]]577  ; CHECK-NEXT:   G_BRCOND [[ICMP44]](s1), %bb.45578  ; CHECK-NEXT:   G_BR %bb.105579  ; CHECK-NEXT: {{  $}}580  ; CHECK-NEXT: bb.105.bb:581  ; CHECK-NEXT:   [[ICMP45:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C45]]582  ; CHECK-NEXT:   G_BRCOND [[ICMP45]](s1), %bb.46583  ; CHECK-NEXT:   G_BR %bb.106584  ; CHECK-NEXT: {{  $}}585  ; CHECK-NEXT: bb.106.bb:586  ; CHECK-NEXT:   [[ICMP46:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C46]]587  ; CHECK-NEXT:   G_BRCOND [[ICMP46]](s1), %bb.47588  ; CHECK-NEXT:   G_BR %bb.107589  ; CHECK-NEXT: {{  $}}590  ; CHECK-NEXT: bb.107.bb:591  ; CHECK-NEXT:   [[ICMP47:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C47]]592  ; CHECK-NEXT:   G_BRCOND [[ICMP47]](s1), %bb.48593  ; CHECK-NEXT:   G_BR %bb.108594  ; CHECK-NEXT: {{  $}}595  ; CHECK-NEXT: bb.108.bb:596  ; CHECK-NEXT:   [[ICMP48:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C48]]597  ; CHECK-NEXT:   G_BRCOND [[ICMP48]](s1), %bb.49598  ; CHECK-NEXT:   G_BR %bb.109599  ; CHECK-NEXT: {{  $}}600  ; CHECK-NEXT: bb.109.bb:601  ; CHECK-NEXT:   [[ICMP49:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C49]]602  ; CHECK-NEXT:   G_BRCOND [[ICMP49]](s1), %bb.50603  ; CHECK-NEXT:   G_BR %bb.110604  ; CHECK-NEXT: {{  $}}605  ; CHECK-NEXT: bb.110.bb:606  ; CHECK-NEXT:   [[ICMP50:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C50]]607  ; CHECK-NEXT:   G_BRCOND [[ICMP50]](s1), %bb.51608  ; CHECK-NEXT:   G_BR %bb.111609  ; CHECK-NEXT: {{  $}}610  ; CHECK-NEXT: bb.111.bb:611  ; CHECK-NEXT:   [[ICMP51:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C51]]612  ; CHECK-NEXT:   G_BRCOND [[ICMP51]](s1), %bb.52613  ; CHECK-NEXT:   G_BR %bb.112614  ; CHECK-NEXT: {{  $}}615  ; CHECK-NEXT: bb.112.bb:616  ; CHECK-NEXT:   [[ICMP52:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C52]]617  ; CHECK-NEXT:   G_BRCOND [[ICMP52]](s1), %bb.53618  ; CHECK-NEXT:   G_BR %bb.113619  ; CHECK-NEXT: {{  $}}620  ; CHECK-NEXT: bb.113.bb:621  ; CHECK-NEXT:   [[ICMP53:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C53]]622  ; CHECK-NEXT:   G_BRCOND [[ICMP53]](s1), %bb.54623  ; CHECK-NEXT:   G_BR %bb.114624  ; CHECK-NEXT: {{  $}}625  ; CHECK-NEXT: bb.114.bb:626  ; CHECK-NEXT:   [[ICMP54:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[C54]]627  ; CHECK-NEXT:   G_BRCOND [[ICMP54]](s1), %bb.55628  ; CHECK-NEXT:   G_BR %bb.60629  ; CHECK-NEXT: {{  $}}630  ; CHECK-NEXT: bb.2.bb3:631  ; CHECK-NEXT:   G_BR %bb.56632  ; CHECK-NEXT: {{  $}}633  ; CHECK-NEXT: bb.3.bb4:634  ; CHECK-NEXT:   G_BR %bb.56635  ; CHECK-NEXT: {{  $}}636  ; CHECK-NEXT: bb.4.bb5:637  ; CHECK-NEXT:   G_BR %bb.56638  ; CHECK-NEXT: {{  $}}639  ; CHECK-NEXT: bb.5.bb6:640  ; CHECK-NEXT:   G_BR %bb.56641  ; CHECK-NEXT: {{  $}}642  ; CHECK-NEXT: bb.6.bb7:643  ; CHECK-NEXT:   G_BR %bb.56644  ; CHECK-NEXT: {{  $}}645  ; CHECK-NEXT: bb.7.bb8:646  ; CHECK-NEXT:   G_BR %bb.56647  ; CHECK-NEXT: {{  $}}648  ; CHECK-NEXT: bb.8.bb9:649  ; CHECK-NEXT:   G_BR %bb.56650  ; CHECK-NEXT: {{  $}}651  ; CHECK-NEXT: bb.9.bb10:652  ; CHECK-NEXT:   G_BR %bb.56653  ; CHECK-NEXT: {{  $}}654  ; CHECK-NEXT: bb.10.bb11:655  ; CHECK-NEXT:   G_BR %bb.56656  ; CHECK-NEXT: {{  $}}657  ; CHECK-NEXT: bb.11.bb12:658  ; CHECK-NEXT:   G_BR %bb.56659  ; CHECK-NEXT: {{  $}}660  ; CHECK-NEXT: bb.12.bb13:661  ; CHECK-NEXT:   G_BR %bb.56662  ; CHECK-NEXT: {{  $}}663  ; CHECK-NEXT: bb.13.bb14:664  ; CHECK-NEXT:   G_BR %bb.56665  ; CHECK-NEXT: {{  $}}666  ; CHECK-NEXT: bb.14.bb15:667  ; CHECK-NEXT:   G_BR %bb.56668  ; CHECK-NEXT: {{  $}}669  ; CHECK-NEXT: bb.15.bb16:670  ; CHECK-NEXT:   G_BR %bb.56671  ; CHECK-NEXT: {{  $}}672  ; CHECK-NEXT: bb.16.bb17:673  ; CHECK-NEXT:   G_BR %bb.56674  ; CHECK-NEXT: {{  $}}675  ; CHECK-NEXT: bb.17.bb18:676  ; CHECK-NEXT:   G_BR %bb.56677  ; CHECK-NEXT: {{  $}}678  ; CHECK-NEXT: bb.18.bb19:679  ; CHECK-NEXT:   G_BR %bb.56680  ; CHECK-NEXT: {{  $}}681  ; CHECK-NEXT: bb.19.bb20:682  ; CHECK-NEXT:   G_BR %bb.56683  ; CHECK-NEXT: {{  $}}684  ; CHECK-NEXT: bb.20.bb21:685  ; CHECK-NEXT:   G_BR %bb.56686  ; CHECK-NEXT: {{  $}}687  ; CHECK-NEXT: bb.21.bb22:688  ; CHECK-NEXT:   G_BR %bb.56689  ; CHECK-NEXT: {{  $}}690  ; CHECK-NEXT: bb.22.bb23:691  ; CHECK-NEXT:   G_BR %bb.56692  ; CHECK-NEXT: {{  $}}693  ; CHECK-NEXT: bb.23.bb24:694  ; CHECK-NEXT:   G_BR %bb.56695  ; CHECK-NEXT: {{  $}}696  ; CHECK-NEXT: bb.24.bb25:697  ; CHECK-NEXT:   G_BR %bb.56698  ; CHECK-NEXT: {{  $}}699  ; CHECK-NEXT: bb.25.bb26:700  ; CHECK-NEXT:   G_BR %bb.56701  ; CHECK-NEXT: {{  $}}702  ; CHECK-NEXT: bb.26.bb27:703  ; CHECK-NEXT:   G_BR %bb.56704  ; CHECK-NEXT: {{  $}}705  ; CHECK-NEXT: bb.27.bb28:706  ; CHECK-NEXT:   G_BR %bb.56707  ; CHECK-NEXT: {{  $}}708  ; CHECK-NEXT: bb.28.bb29:709  ; CHECK-NEXT:   G_BR %bb.56710  ; CHECK-NEXT: {{  $}}711  ; CHECK-NEXT: bb.29.bb30:712  ; CHECK-NEXT:   G_BR %bb.56713  ; CHECK-NEXT: {{  $}}714  ; CHECK-NEXT: bb.30.bb31:715  ; CHECK-NEXT:   G_BR %bb.56716  ; CHECK-NEXT: {{  $}}717  ; CHECK-NEXT: bb.31.bb32:718  ; CHECK-NEXT:   G_BR %bb.56719  ; CHECK-NEXT: {{  $}}720  ; CHECK-NEXT: bb.32.bb33:721  ; CHECK-NEXT:   G_BR %bb.56722  ; CHECK-NEXT: {{  $}}723  ; CHECK-NEXT: bb.33.bb34:724  ; CHECK-NEXT:   G_BR %bb.56725  ; CHECK-NEXT: {{  $}}726  ; CHECK-NEXT: bb.34.bb35:727  ; CHECK-NEXT:   G_BR %bb.56728  ; CHECK-NEXT: {{  $}}729  ; CHECK-NEXT: bb.35.bb36:730  ; CHECK-NEXT:   G_BR %bb.56731  ; CHECK-NEXT: {{  $}}732  ; CHECK-NEXT: bb.36.bb37:733  ; CHECK-NEXT:   G_BR %bb.56734  ; CHECK-NEXT: {{  $}}735  ; CHECK-NEXT: bb.37.bb38:736  ; CHECK-NEXT:   G_BR %bb.56737  ; CHECK-NEXT: {{  $}}738  ; CHECK-NEXT: bb.38.bb39:739  ; CHECK-NEXT:   G_BR %bb.56740  ; CHECK-NEXT: {{  $}}741  ; CHECK-NEXT: bb.39.bb40:742  ; CHECK-NEXT:   G_BR %bb.56743  ; CHECK-NEXT: {{  $}}744  ; CHECK-NEXT: bb.40.bb41:745  ; CHECK-NEXT:   G_BR %bb.56746  ; CHECK-NEXT: {{  $}}747  ; CHECK-NEXT: bb.41.bb42:748  ; CHECK-NEXT:   G_BR %bb.56749  ; CHECK-NEXT: {{  $}}750  ; CHECK-NEXT: bb.42.bb43:751  ; CHECK-NEXT:   G_BR %bb.56752  ; CHECK-NEXT: {{  $}}753  ; CHECK-NEXT: bb.43.bb44:754  ; CHECK-NEXT:   G_BR %bb.56755  ; CHECK-NEXT: {{  $}}756  ; CHECK-NEXT: bb.44.bb45:757  ; CHECK-NEXT:   G_BR %bb.56758  ; CHECK-NEXT: {{  $}}759  ; CHECK-NEXT: bb.45.bb46:760  ; CHECK-NEXT:   G_BR %bb.56761  ; CHECK-NEXT: {{  $}}762  ; CHECK-NEXT: bb.46.bb47:763  ; CHECK-NEXT:   G_BR %bb.56764  ; CHECK-NEXT: {{  $}}765  ; CHECK-NEXT: bb.47.bb48:766  ; CHECK-NEXT:   G_BR %bb.56767  ; CHECK-NEXT: {{  $}}768  ; CHECK-NEXT: bb.48.bb49:769  ; CHECK-NEXT:   G_BR %bb.56770  ; CHECK-NEXT: {{  $}}771  ; CHECK-NEXT: bb.49.bb50:772  ; CHECK-NEXT:   G_BR %bb.56773  ; CHECK-NEXT: {{  $}}774  ; CHECK-NEXT: bb.50.bb51:775  ; CHECK-NEXT:   G_BR %bb.56776  ; CHECK-NEXT: {{  $}}777  ; CHECK-NEXT: bb.51.bb52:778  ; CHECK-NEXT:   G_BR %bb.56779  ; CHECK-NEXT: {{  $}}780  ; CHECK-NEXT: bb.52.bb53:781  ; CHECK-NEXT:   G_BR %bb.56782  ; CHECK-NEXT: {{  $}}783  ; CHECK-NEXT: bb.53.bb54:784  ; CHECK-NEXT:   G_BR %bb.56785  ; CHECK-NEXT: {{  $}}786  ; CHECK-NEXT: bb.54.bb55:787  ; CHECK-NEXT:   G_BR %bb.56788  ; CHECK-NEXT: {{  $}}789  ; CHECK-NEXT: bb.55.bb56:790  ; CHECK-NEXT:   G_BR %bb.56791  ; CHECK-NEXT: {{  $}}792  ; CHECK-NEXT: bb.56.bb57:793  ; CHECK-NEXT:   [[PHI:%[0-9]+]]:_(s64) = G_PHI [[C56]](s64), %bb.1, [[C57]](s64), %bb.2, [[C58]](s64), %bb.3, [[C59]](s64), %bb.4, [[C60]](s64), %bb.5, [[C61]](s64), %bb.6, [[C62]](s64), %bb.7, [[C63]](s64), %bb.8, [[C64]](s64), %bb.9, [[C65]](s64), %bb.10, [[C66]](s64), %bb.11, [[C67]](s64), %bb.12, [[C68]](s64), %bb.13, [[C69]](s64), %bb.14, [[C70]](s64), %bb.15, [[C71]](s64), %bb.16, [[C72]](s64), %bb.17, [[C73]](s64), %bb.18, [[C74]](s64), %bb.19, [[C75]](s64), %bb.20, [[C76]](s64), %bb.21, [[C77]](s64), %bb.22, [[C78]](s64), %bb.23, [[C79]](s64), %bb.24, [[C80]](s64), %bb.25, [[C81]](s64), %bb.26, [[C82]](s64), %bb.27, [[C83]](s64), %bb.28, [[C84]](s64), %bb.29, [[C85]](s64), %bb.30, [[C86]](s64), %bb.31, [[C87]](s64), %bb.32, [[C88]](s64), %bb.33, [[C89]](s64), %bb.34, [[C90]](s64), %bb.35, [[C91]](s64), %bb.36, [[C92]](s64), %bb.37, [[C93]](s64), %bb.38, [[C94]](s64), %bb.39, [[C95]](s64), %bb.40, [[C96]](s64), %bb.41, [[C97]](s64), %bb.42, [[C98]](s64), %bb.43, [[C99]](s64), %bb.44, [[C100]](s64), %bb.45, [[C101]](s64), %bb.46, [[C102]](s64), %bb.47, [[C103]](s64), %bb.48, [[C104]](s64), %bb.49, [[C105]](s64), %bb.50, [[C106]](s64), %bb.51, [[C107]](s64), %bb.52, [[C108]](s64), %bb.53, [[C109]](s64), %bb.54, [[C110]](s64), %bb.55794  ; CHECK-NEXT:   [[C111:%[0-9]+]]:_(s64) = G_CONSTANT i64 16795  ; CHECK-NEXT:   [[MUL:%[0-9]+]]:_(s64) = nsw G_MUL [[PHI]], [[C111]]796  ; CHECK-NEXT:   [[PTR_ADD:%[0-9]+]]:_(p0) = nusw inbounds G_PTR_ADD [[GV]], [[MUL]](s64)797  ; CHECK-NEXT:   [[C112:%[0-9]+]]:_(s64) = G_CONSTANT i64 8798  ; CHECK-NEXT:   [[PTR_ADD1:%[0-9]+]]:_(p0) = nuw nusw inbounds G_PTR_ADD [[PTR_ADD]], [[C112]](s64)799  ; CHECK-NEXT:   [[LOAD:%[0-9]+]]:_(p0) = G_LOAD [[PTR_ADD1]](p0) :: (load (p0) from %ir.tmp59)800  ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp801  ; CHECK-NEXT:   $x0 = COPY [[COPY]](p0)802  ; CHECK-NEXT:   $x1 = COPY [[LOAD]](p0)803  ; CHECK-NEXT:   BL @wibble, csr_aarch64_aapcs_thisreturn, implicit-def $lr, implicit $sp, implicit $x0, implicit $x1804  ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp805  ; CHECK-NEXT:   [[COPY3:%[0-9]+]]:_(p0) = COPY [[COPY]](p0)806  ; CHECK-NEXT:   G_BR %bb.59807  ; CHECK-NEXT: {{  $}}808  ; CHECK-NEXT: bb.57.bb62:809  ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp810  ; CHECK-NEXT:   $x0 = COPY [[COPY]](p0)811  ; CHECK-NEXT:   $x1 = COPY [[COPY2]](p0)812  ; CHECK-NEXT:   BL @wibble, csr_aarch64_aapcs_thisreturn, implicit-def $lr, implicit $sp, implicit $x0, implicit $x1813  ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp814  ; CHECK-NEXT:   [[COPY4:%[0-9]+]]:_(p0) = COPY [[COPY]](p0)815  ; CHECK-NEXT:   G_BR %bb.59816  ; CHECK-NEXT: {{  $}}817  ; CHECK-NEXT: bb.58.bb64:818  ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp819  ; CHECK-NEXT:   $w0 = COPY [[COPY1]](s32)820  ; CHECK-NEXT:   $x1 = COPY [[FRAME_INDEX]](p0)821  ; CHECK-NEXT:   BL @baz, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $w0, implicit $x1822  ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp823  ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp824  ; CHECK-NEXT:   $x0 = COPY [[COPY]](p0)825  ; CHECK-NEXT:   $x1 = COPY [[FRAME_INDEX]](p0)826  ; CHECK-NEXT:   BL @wibble, csr_aarch64_aapcs_thisreturn, implicit-def $lr, implicit $sp, implicit $x0, implicit $x1827  ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp828  ; CHECK-NEXT:   [[COPY5:%[0-9]+]]:_(p0) = COPY [[COPY]](p0)829  ; CHECK-NEXT:   G_BR %bb.59830  ; CHECK-NEXT: {{  $}}831  ; CHECK-NEXT: bb.59.bb68:832  ; CHECK-NEXT:   RET_ReallyLR833  ; CHECK-NEXT: {{  $}}834  ; CHECK-NEXT: bb.60.bb69:835  ; CHECK-NEXT:   [[ICMP55:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY2]](p0), [[C55]]836  ; CHECK-NEXT:   G_BRCOND [[ICMP55]](s1), %bb.58837  ; CHECK-NEXT:   G_BR %bb.57838bb:839  %tmp = alloca [16 x i32], align 4840  switch i32 %arg1, label %bb69 [841    i32 3, label %bb57842    i32 4, label %bb3843    i32 6, label %bb4844    i32 7, label %bb5845    i32 8, label %bb6846    i32 9, label %bb7847    i32 10, label %bb8848    i32 11, label %bb9849    i32 12, label %bb10850    i32 13, label %bb11851    i32 14, label %bb12852    i32 15, label %bb13853    i32 16, label %bb14854    i32 17, label %bb15855    i32 18, label %bb16856    i32 19, label %bb17857    i32 20, label %bb18858    i32 21, label %bb19859    i32 22, label %bb20860    i32 23, label %bb21861    i32 24, label %bb22862    i32 25, label %bb23863    i32 26, label %bb24864    i32 27, label %bb25865    i32 28, label %bb26866    i32 29, label %bb27867    i32 30, label %bb28868    i32 31, label %bb29869    i32 32, label %bb30870    i32 33, label %bb31871    i32 34, label %bb32872    i32 35, label %bb33873    i32 36, label %bb34874    i32 37, label %bb35875    i32 38, label %bb36876    i32 39, label %bb37877    i32 41, label %bb38878    i32 42, label %bb39879    i32 43, label %bb40880    i32 44, label %bb41881    i32 45, label %bb42882    i32 46, label %bb43883    i32 47, label %bb44884    i32 48, label %bb45885    i32 49, label %bb46886    i32 50, label %bb47887    i32 51, label %bb48888    i32 52, label %bb49889    i32 53, label %bb50890    i32 54, label %bb51891    i32 55, label %bb52892    i32 4352, label %bb53893    i32 4353, label %bb54894    i32 4354, label %bb55895    i32 4355, label %bb56896  ]897 898bb3:                                              ; preds = %bb899  br label %bb57900 901bb4:                                              ; preds = %bb902  br label %bb57903 904bb5:                                              ; preds = %bb905  br label %bb57906 907bb6:                                              ; preds = %bb908  br label %bb57909 910bb7:                                              ; preds = %bb911  br label %bb57912 913bb8:                                              ; preds = %bb914  br label %bb57915 916bb9:                                              ; preds = %bb917  br label %bb57918 919bb10:                                             ; preds = %bb920  br label %bb57921 922bb11:                                             ; preds = %bb923  br label %bb57924 925bb12:                                             ; preds = %bb926  br label %bb57927 928bb13:                                             ; preds = %bb929  br label %bb57930 931bb14:                                             ; preds = %bb932  br label %bb57933 934bb15:                                             ; preds = %bb935  br label %bb57936 937bb16:                                             ; preds = %bb938  br label %bb57939 940bb17:                                             ; preds = %bb941  br label %bb57942 943bb18:                                             ; preds = %bb944  br label %bb57945 946bb19:                                             ; preds = %bb947  br label %bb57948 949bb20:                                             ; preds = %bb950  br label %bb57951 952bb21:                                             ; preds = %bb953  br label %bb57954 955bb22:                                             ; preds = %bb956  br label %bb57957 958bb23:                                             ; preds = %bb959  br label %bb57960 961bb24:                                             ; preds = %bb962  br label %bb57963 964bb25:                                             ; preds = %bb965  br label %bb57966 967bb26:                                             ; preds = %bb968  br label %bb57969 970bb27:                                             ; preds = %bb971  br label %bb57972 973bb28:                                             ; preds = %bb974  br label %bb57975 976bb29:                                             ; preds = %bb977  br label %bb57978 979bb30:                                             ; preds = %bb980  br label %bb57981 982bb31:                                             ; preds = %bb983  br label %bb57984 985bb32:                                             ; preds = %bb986  br label %bb57987 988bb33:                                             ; preds = %bb989  br label %bb57990 991bb34:                                             ; preds = %bb992  br label %bb57993 994bb35:                                             ; preds = %bb995  br label %bb57996 997bb36:                                             ; preds = %bb998  br label %bb57999 1000bb37:                                             ; preds = %bb1001  br label %bb571002 1003bb38:                                             ; preds = %bb1004  br label %bb571005 1006bb39:                                             ; preds = %bb1007  br label %bb571008 1009bb40:                                             ; preds = %bb1010  br label %bb571011 1012bb41:                                             ; preds = %bb1013  br label %bb571014 1015bb42:                                             ; preds = %bb1016  br label %bb571017 1018bb43:                                             ; preds = %bb1019  br label %bb571020 1021bb44:                                             ; preds = %bb1022  br label %bb571023 1024bb45:                                             ; preds = %bb1025  br label %bb571026 1027bb46:                                             ; preds = %bb1028  br label %bb571029 1030bb47:                                             ; preds = %bb1031  br label %bb571032 1033bb48:                                             ; preds = %bb1034  br label %bb571035 1036bb49:                                             ; preds = %bb1037  br label %bb571038 1039bb50:                                             ; preds = %bb1040  br label %bb571041 1042bb51:                                             ; preds = %bb1043  br label %bb571044 1045bb52:                                             ; preds = %bb1046  br label %bb571047 1048bb53:                                             ; preds = %bb1049  br label %bb571050 1051bb54:                                             ; preds = %bb1052  br label %bb571053 1054bb55:                                             ; preds = %bb1055  br label %bb571056 1057bb56:                                             ; preds = %bb1058  br label %bb571059 1060bb57:                                             ; preds = %bb56, %bb55, %bb54, %bb53, %bb52, %bb51, %bb50, %bb49, %bb48, %bb47, %bb46, %bb45, %bb44, %bb43, %bb42, %bb41, %bb40, %bb39, %bb38, %bb37, %bb36, %bb35, %bb34, %bb33, %bb32, %bb31, %bb30, %bb29, %bb28, %bb27, %bb26, %bb25, %bb24, %bb23, %bb22, %bb21, %bb20, %bb19, %bb18, %bb17, %bb16, %bb15, %bb14, %bb13, %bb12, %bb11, %bb10, %bb9, %bb8, %bb7, %bb6, %bb5, %bb4, %bb3, %bb1061  %tmp58 = phi i64 [ 0, %bb ], [ 1, %bb3 ], [ 2, %bb4 ], [ 3, %bb5 ], [ 4, %bb6 ], [ 5, %bb7 ], [ 6, %bb8 ], [ 7, %bb9 ], [ 8, %bb10 ], [ 9, %bb11 ], [ 10, %bb12 ], [ 11, %bb13 ], [ 12, %bb14 ], [ 13, %bb15 ], [ 14, %bb16 ], [ 15, %bb17 ], [ 16, %bb18 ], [ 17, %bb19 ], [ 18, %bb20 ], [ 19, %bb21 ], [ 20, %bb22 ], [ 21, %bb23 ], [ 22, %bb24 ], [ 23, %bb25 ], [ 24, %bb26 ], [ 25, %bb27 ], [ 26, %bb28 ], [ 27, %bb29 ], [ 28, %bb30 ], [ 29, %bb31 ], [ 30, %bb32 ], [ 31, %bb33 ], [ 32, %bb34 ], [ 33, %bb35 ], [ 34, %bb36 ], [ 35, %bb37 ], [ 36, %bb38 ], [ 37, %bb39 ], [ 38, %bb40 ], [ 39, %bb41 ], [ 40, %bb42 ], [ 41, %bb43 ], [ 42, %bb44 ], [ 43, %bb45 ], [ 44, %bb46 ], [ 45, %bb47 ], [ 46, %bb48 ], [ 47, %bb49 ], [ 48, %bb50 ], [ 49, %bb51 ], [ 50, %bb52 ], [ 51, %bb53 ], [ 52, %bb54 ], [ 53, %bb55 ], [ 54, %bb56 ]1062  %tmp59 = getelementptr inbounds [55 x %0], ptr @global, i64 0, i64 %tmp58, i32 11063  %tmp60 = load ptr, ptr %tmp59, align 81064  %tmp61 = call ptr @wibble(ptr %arg, ptr %tmp60)1065  br label %bb681066 1067bb62:                                             ; preds = %bb691068  %tmp63 = call ptr @wibble(ptr %arg, ptr nonnull %arg2)1069  br label %bb681070 1071bb64:                                             ; preds = %bb691072  call void @baz(i32 %arg1, ptr %tmp)1073  %tmp67 = call ptr @wibble(ptr %arg, ptr  %tmp)1074  br label %bb681075 1076bb68:                                             ; preds = %bb64, %bb62, %bb571077  ret void1078 1079bb69:                                             ; preds = %bb1080  %tmp70 = icmp eq ptr %arg2, null1081  br i1 %tmp70, label %bb64, label %bb621082}1083 1084declare ptr @wibble(ptr returned, ptr)1085 1086declare void @baz(i32, ptr)1087 1088 1089; Check that with 2 jump tables, the phi node doesn't lose the edge from the1090; second one.1091define void @jt_2_tables_phi_edge_from_second() {1092  ; CHECK-LABEL: name: jt_2_tables_phi_edge_from_second1093  ; CHECK: bb.1.entry:1094  ; CHECK-NEXT:   [[DEF:%[0-9]+]]:_(p0) = G_IMPLICIT_DEF1095  ; CHECK-NEXT:   [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1231096  ; CHECK-NEXT:   [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 2631097  ; CHECK-NEXT:   [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 2651098  ; CHECK-NEXT:   [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 2701099  ; CHECK-NEXT:   [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 2791100  ; CHECK-NEXT:   [[DEF1:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF1101  ; CHECK-NEXT:   [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 371102  ; CHECK-NEXT:   [[C6:%[0-9]+]]:_(s32) = G_CONSTANT i32 431103  ; CHECK-NEXT:   [[C7:%[0-9]+]]:_(s32) = G_CONSTANT i32 451104  ; CHECK-NEXT:   [[C8:%[0-9]+]]:_(s32) = G_CONSTANT i32 601105  ; CHECK-NEXT:   [[C9:%[0-9]+]]:_(s32) = G_CONSTANT i32 2781106  ; CHECK-NEXT:   [[C10:%[0-9]+]]:_(s32) = G_CONSTANT i32 2801107  ; CHECK-NEXT:   [[C11:%[0-9]+]]:_(s32) = G_CONSTANT i32 2811108  ; CHECK-NEXT:   [[C12:%[0-9]+]]:_(s32) = G_CONSTANT i32 2831109  ; CHECK-NEXT:   [[DEF2:%[0-9]+]]:_(s1) = G_IMPLICIT_DEF1110  ; CHECK-NEXT:   [[C13:%[0-9]+]]:_(s32) = G_CONSTANT i32 01111  ; CHECK-NEXT:   [[C14:%[0-9]+]]:_(s32) = G_CONSTANT i32 11112  ; CHECK-NEXT:   [[C15:%[0-9]+]]:_(s32) = G_CONSTANT i32 41113  ; CHECK-NEXT:   [[C16:%[0-9]+]]:_(s32) = G_CONSTANT i32 61114  ; CHECK-NEXT:   [[C17:%[0-9]+]]:_(s32) = G_CONSTANT i32 71115  ; CHECK-NEXT:   [[C18:%[0-9]+]]:_(s32) = G_CONSTANT i32 81116  ; CHECK-NEXT:   [[C19:%[0-9]+]]:_(s32) = G_CONSTANT i32 91117  ; CHECK-NEXT:   [[C20:%[0-9]+]]:_(s32) = G_CONSTANT i32 121118  ; CHECK-NEXT:   [[C21:%[0-9]+]]:_(s32) = G_CONSTANT i32 151119  ; CHECK-NEXT:   [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p0) :: (load (s32) from `ptr undef`, align 8)1120  ; CHECK-NEXT:   [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[LOAD]](s32), [[C]]1121  ; CHECK-NEXT:   G_BRCOND [[ICMP]](s1), %bb.61122  ; CHECK-NEXT:   G_BR %bb.191123  ; CHECK-NEXT: {{  $}}1124  ; CHECK-NEXT: bb.19.entry:1125  ; CHECK-NEXT:   [[ICMP1:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[LOAD]](s32), [[C1]]1126  ; CHECK-NEXT:   G_BRCOND [[ICMP1]](s1), %bb.41127  ; CHECK-NEXT:   G_BR %bb.201128  ; CHECK-NEXT: {{  $}}1129  ; CHECK-NEXT: bb.20.entry:1130  ; CHECK-NEXT:   [[ICMP2:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[LOAD]](s32), [[C2]]1131  ; CHECK-NEXT:   G_BRCOND [[ICMP2]](s1), %bb.71132  ; CHECK-NEXT:   G_BR %bb.211133  ; CHECK-NEXT: {{  $}}1134  ; CHECK-NEXT: bb.21.entry:1135  ; CHECK-NEXT:   [[ICMP3:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[LOAD]](s32), [[C3]]1136  ; CHECK-NEXT:   G_BRCOND [[ICMP3]](s1), %bb.21137  ; CHECK-NEXT:   G_BR %bb.221138  ; CHECK-NEXT: {{  $}}1139  ; CHECK-NEXT: bb.22.entry:1140  ; CHECK-NEXT:   [[ICMP4:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[LOAD]](s32), [[C4]]1141  ; CHECK-NEXT:   G_BRCOND [[ICMP4]](s1), %bb.51142  ; CHECK-NEXT:   G_BR %bb.231143  ; CHECK-NEXT: {{  $}}1144  ; CHECK-NEXT: bb.23.entry:1145  ; CHECK-NEXT:   G_BR %bb.31146  ; CHECK-NEXT: {{  $}}1147  ; CHECK-NEXT: bb.2.if.then:1148  ; CHECK-NEXT:   successors:1149  ; CHECK-NEXT: {{  $}}1150  ; CHECK-NEXT: bb.3.sw.bb2.i41:1151  ; CHECK-NEXT:   successors:1152  ; CHECK-NEXT: {{  $}}1153  ; CHECK-NEXT: bb.4.sw.bb7.i44:1154  ; CHECK-NEXT:   successors:1155  ; CHECK-NEXT: {{  $}}1156  ; CHECK-NEXT: bb.5.sw.bb8.i45:1157  ; CHECK-NEXT:   successors:1158  ; CHECK-NEXT: {{  $}}1159  ; CHECK-NEXT: bb.6.sw.bb13.i47:1160  ; CHECK-NEXT:   successors:1161  ; CHECK-NEXT: {{  $}}1162  ; CHECK-NEXT: bb.7.sw.bb14.i48:1163  ; CHECK-NEXT:   [[ICMP5:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[DEF1]](s32), [[C5]]1164  ; CHECK-NEXT:   G_BRCOND [[ICMP5]](s1), %bb.101165  ; CHECK-NEXT:   G_BR %bb.241166  ; CHECK-NEXT: {{  $}}1167  ; CHECK-NEXT: bb.24.sw.bb14.i48:1168  ; CHECK-NEXT:   [[ICMP6:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[DEF1]](s32), [[C6]]1169  ; CHECK-NEXT:   G_BRCOND [[ICMP6]](s1), %bb.161170  ; CHECK-NEXT:   G_BR %bb.251171  ; CHECK-NEXT: {{  $}}1172  ; CHECK-NEXT: bb.25.sw.bb14.i48:1173  ; CHECK-NEXT:   [[ICMP7:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[DEF1]](s32), [[C7]]1174  ; CHECK-NEXT:   G_BRCOND [[ICMP7]](s1), %bb.91175  ; CHECK-NEXT:   G_BR %bb.261176  ; CHECK-NEXT: {{  $}}1177  ; CHECK-NEXT: bb.26.sw.bb14.i48:1178  ; CHECK-NEXT:   [[ICMP8:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[DEF1]](s32), [[C8]]1179  ; CHECK-NEXT:   G_BRCOND [[ICMP8]](s1), %bb.141180  ; CHECK-NEXT:   G_BR %bb.271181  ; CHECK-NEXT: {{  $}}1182  ; CHECK-NEXT: bb.27.sw.bb14.i48:1183  ; CHECK-NEXT:   [[ICMP9:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[DEF1]](s32), [[C9]]1184  ; CHECK-NEXT:   G_BRCOND [[ICMP9]](s1), %bb.111185  ; CHECK-NEXT:   G_BR %bb.281186  ; CHECK-NEXT: {{  $}}1187  ; CHECK-NEXT: bb.28.sw.bb14.i48:1188  ; CHECK-NEXT:   [[ICMP10:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[DEF1]](s32), [[C10]]1189  ; CHECK-NEXT:   G_BRCOND [[ICMP10]](s1), %bb.131190  ; CHECK-NEXT:   G_BR %bb.291191  ; CHECK-NEXT: {{  $}}1192  ; CHECK-NEXT: bb.29.sw.bb14.i48:1193  ; CHECK-NEXT:   [[ICMP11:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[DEF1]](s32), [[C11]]1194  ; CHECK-NEXT:   G_BRCOND [[ICMP11]](s1), %bb.151195  ; CHECK-NEXT:   G_BR %bb.301196  ; CHECK-NEXT: {{  $}}1197  ; CHECK-NEXT: bb.30.sw.bb14.i48:1198  ; CHECK-NEXT:   [[ICMP12:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[DEF1]](s32), [[C12]]1199  ; CHECK-NEXT:   G_BRCOND [[ICMP12]](s1), %bb.121200  ; CHECK-NEXT:   G_BR %bb.181201  ; CHECK-NEXT: {{  $}}1202  ; CHECK-NEXT: bb.8.sw.default.i49:1203  ; CHECK-NEXT:   successors:1204  ; CHECK-NEXT: {{  $}}1205  ; CHECK-NEXT: bb.9.sw.bb1.i:1206  ; CHECK-NEXT:   G_BR %bb.161207  ; CHECK-NEXT: {{  $}}1208  ; CHECK-NEXT: bb.10.sw.bb4.i:1209  ; CHECK-NEXT:   G_BR %bb.161210  ; CHECK-NEXT: {{  $}}1211  ; CHECK-NEXT: bb.11.sw.bb6.i:1212  ; CHECK-NEXT:   G_BR %bb.161213  ; CHECK-NEXT: {{  $}}1214  ; CHECK-NEXT: bb.12.sw.bb7.i:1215  ; CHECK-NEXT:   G_BR %bb.161216  ; CHECK-NEXT: {{  $}}1217  ; CHECK-NEXT: bb.13.sw.bb8.i:1218  ; CHECK-NEXT:   G_BR %bb.161219  ; CHECK-NEXT: {{  $}}1220  ; CHECK-NEXT: bb.14.sw.bb9.i:1221  ; CHECK-NEXT:   G_BR %bb.161222  ; CHECK-NEXT: {{  $}}1223  ; CHECK-NEXT: bb.15.sw.bb12.i:1224  ; CHECK-NEXT:   G_BR %bb.161225  ; CHECK-NEXT: {{  $}}1226  ; CHECK-NEXT: bb.16.land.rhs.lr.ph:1227  ; CHECK-NEXT:   [[PHI:%[0-9]+]]:_(s32) = G_PHI [[C13]](s32), %bb.24, [[C14]](s32), %bb.9, [[C15]](s32), %bb.10, [[C16]](s32), %bb.11, [[C17]](s32), %bb.12, [[C18]](s32), %bb.13, [[C19]](s32), %bb.14, [[C20]](s32), %bb.151228  ; CHECK-NEXT:   G_BRCOND [[DEF2]](s1), %bb.171229  ; CHECK-NEXT:   G_BR %bb.181230  ; CHECK-NEXT: {{  $}}1231  ; CHECK-NEXT: bb.17.while.body:1232  ; CHECK-NEXT:   successors:1233  ; CHECK-NEXT: {{  $}}1234  ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp1235  ; CHECK-NEXT:   BL @jt_2_tables_phi_edge_from_second, csr_aarch64_aapcs, implicit-def $lr, implicit $sp1236  ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp1237  ; CHECK-NEXT: {{  $}}1238  ; CHECK-NEXT: bb.18.while.end:1239  ; CHECK-NEXT:   [[PHI1:%[0-9]+]]:_(s32) = G_PHI [[C21]](s32), %bb.30, [[PHI]](s32), %bb.161240  ; CHECK-NEXT:   RET_ReallyLR1241entry:1242  %0 = load i32, ptr undef, align 81243  switch i32 %0, label %sw.default.i49 [1244    i32 270, label %if.then1245    i32 265, label %sw.bb14.i481246    i32 123, label %sw.bb13.i471247    i32 279, label %sw.bb8.i451248    i32 286, label %sw.bb2.i411249    i32 263, label %sw.bb7.i441250  ]1251 1252if.then:                                          ; preds = %entry1253  unreachable1254 1255sw.bb2.i41:                                       ; preds = %entry1256  unreachable1257 1258sw.bb7.i44:                                       ; preds = %entry1259  unreachable1260 1261sw.bb8.i45:                                       ; preds = %entry1262  unreachable1263 1264sw.bb13.i47:                                      ; preds = %entry1265  unreachable1266 1267sw.bb14.i48:                                      ; preds = %entry1268  switch i32 undef, label %while.end [1269    i32 43, label %land.rhs.lr.ph1270    i32 45, label %sw.bb1.i1271    i32 280, label %sw.bb8.i1272    i32 60, label %sw.bb9.i1273    i32 37, label %sw.bb4.i1274    i32 281, label %sw.bb12.i1275    i32 278, label %sw.bb6.i1276    i32 283, label %sw.bb7.i1277  ]1278 1279sw.default.i49:                                   ; preds = %entry1280  unreachable1281 1282sw.bb1.i:                                         ; preds = %sw.bb14.i481283  br label %land.rhs.lr.ph1284 1285sw.bb4.i:                                         ; preds = %sw.bb14.i481286  br label %land.rhs.lr.ph1287 1288sw.bb6.i:                                         ; preds = %sw.bb14.i481289  br label %land.rhs.lr.ph1290 1291sw.bb7.i:                                         ; preds = %sw.bb14.i481292  br label %land.rhs.lr.ph1293 1294sw.bb8.i:                                         ; preds = %sw.bb14.i481295  br label %land.rhs.lr.ph1296 1297sw.bb9.i:                                         ; preds = %sw.bb14.i481298  br label %land.rhs.lr.ph1299 1300sw.bb12.i:                                        ; preds = %sw.bb14.i481301  br label %land.rhs.lr.ph1302 1303land.rhs.lr.ph:                                   ; preds = %sw.bb12.i, %sw.bb9.i, %sw.bb8.i, %sw.bb7.i, %sw.bb6.i, %sw.bb4.i, %sw.bb1.i, %sw.bb14.i481304  %retval.0.i.ph = phi i32 [ 0, %sw.bb14.i48 ], [ 1, %sw.bb1.i ], [ 4, %sw.bb4.i ], [ 6, %sw.bb6.i ], [ 7, %sw.bb7.i ], [ 8, %sw.bb8.i ], [ 9, %sw.bb9.i ], [ 12, %sw.bb12.i ]1305  br i1 undef, label %while.body, label %while.end1306 1307while.body:                                       ; preds = %land.rhs.lr.ph1308  call void @jt_2_tables_phi_edge_from_second()1309  unreachable1310 1311while.end:                                        ; preds = %land.rhs.lr.ph, %sw.bb14.i481312  %op.0.lcssa = phi i32 [ 15, %sw.bb14.i48 ], [ %retval.0.i.ph, %land.rhs.lr.ph ]1313  ret void1314}1315 1316 1317define i32 @range_test(i32 %x) {1318  ; CHECK-LABEL: name: range_test1319  ; CHECK: bb.1.entry:1320  ; CHECK-NEXT:   liveins: $w01321  ; CHECK-NEXT: {{  $}}1322  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s32) = COPY $w01323  ; CHECK-NEXT:   [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 61324  ; CHECK-NEXT:   [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 241325  ; CHECK-NEXT:   [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 31326  ; CHECK-NEXT:   [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 421327  ; CHECK-NEXT:   [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 01328  ; CHECK-NEXT:   [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]1329  ; CHECK-NEXT:   G_BRCOND [[ICMP]](s1), %bb.31330  ; CHECK-NEXT:   G_BR %bb.51331  ; CHECK-NEXT: {{  $}}1332  ; CHECK-NEXT: bb.5.entry:1333  ; CHECK-NEXT:   [[SUB:%[0-9]+]]:_(s32) = G_SUB [[COPY]], [[C1]]1334  ; CHECK-NEXT:   [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 21335  ; CHECK-NEXT:   [[ICMP1:%[0-9]+]]:_(s1) = G_ICMP intpred(ule), [[SUB]](s32), [[C5]]1336  ; CHECK-NEXT:   G_BRCOND [[ICMP1]](s1), %bb.21337  ; CHECK-NEXT:   G_BR %bb.41338  ; CHECK-NEXT: {{  $}}1339  ; CHECK-NEXT: bb.2.sw.bb:1340  ; CHECK-NEXT:   [[ADD:%[0-9]+]]:_(s32) = nsw G_ADD [[COPY]], [[C3]]1341  ; CHECK-NEXT:   G_BR %bb.41342  ; CHECK-NEXT: {{  $}}1343  ; CHECK-NEXT: bb.3.sw.bb1:1344  ; CHECK-NEXT:   [[MUL:%[0-9]+]]:_(s32) = nsw G_MUL [[COPY]], [[C2]]1345  ; CHECK-NEXT:   G_BR %bb.41346  ; CHECK-NEXT: {{  $}}1347  ; CHECK-NEXT: bb.4.return:1348  ; CHECK-NEXT:   [[PHI:%[0-9]+]]:_(s32) = G_PHI [[MUL]](s32), %bb.3, [[ADD]](s32), %bb.2, [[C4]](s32), %bb.51349  ; CHECK-NEXT:   $w0 = COPY [[PHI]](s32)1350  ; CHECK-NEXT:   RET_ReallyLR implicit $w01351entry:1352  switch i32 %x, label %return [1353    i32 24, label %sw.bb1354    i32 25, label %sw.bb1355    i32 26, label %sw.bb1356    i32 6, label %sw.bb11357  ]1358 1359sw.bb:1360  %add = add nsw i32 %x, 421361  br label %return1362 1363sw.bb1:1364  %mul = mul nsw i32 %x, 31365  br label %return1366 1367return:1368  %retval.0 = phi i32 [ %mul, %sw.bb1 ], [ %add, %sw.bb ], [ 0, %entry ]1369  ret i32 %retval.01370}1371 1372define ptr @test_range_phi_switch_cycle() {1373  ; CHECK-LABEL: name: test_range_phi_switch_cycle1374  ; CHECK: bb.1.bb:1375  ; CHECK-NEXT:   [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF1376  ; CHECK-NEXT:   [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 3051377  ; CHECK-NEXT:   [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 3071378  ; CHECK-NEXT:   [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 4971379  ; CHECK-NEXT:   [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 41380  ; CHECK-NEXT:   [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 31381  ; CHECK-NEXT:   [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 11382  ; CHECK-NEXT:   G_BR %bb.21383  ; CHECK-NEXT: {{  $}}1384  ; CHECK-NEXT: bb.2.bb1:1385  ; CHECK-NEXT:   [[PHI:%[0-9]+]]:_(s32) = G_PHI [[DEF]](s32), %bb.1, [[C3]](s32), %bb.3, [[C4]](s32), %bb.4, [[C5]](s32), %bb.21386  ; CHECK-NEXT:   [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[DEF]](s32), [[C]]1387  ; CHECK-NEXT:   G_BRCOND [[ICMP]](s1), %bb.21388  ; CHECK-NEXT:   G_BR %bb.61389  ; CHECK-NEXT: {{  $}}1390  ; CHECK-NEXT: bb.6.bb1:1391  ; CHECK-NEXT:   [[ICMP1:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[DEF]](s32), [[C1]]1392  ; CHECK-NEXT:   G_BRCOND [[ICMP1]](s1), %bb.31393  ; CHECK-NEXT:   G_BR %bb.71394  ; CHECK-NEXT: {{  $}}1395  ; CHECK-NEXT: bb.7.bb1:1396  ; CHECK-NEXT:   [[ICMP2:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[DEF]](s32), [[C2]]1397  ; CHECK-NEXT:   G_BRCOND [[ICMP2]](s1), %bb.41398  ; CHECK-NEXT:   G_BR %bb.51399  ; CHECK-NEXT: {{  $}}1400  ; CHECK-NEXT: bb.3.bb2:1401  ; CHECK-NEXT:   G_BR %bb.21402  ; CHECK-NEXT: {{  $}}1403  ; CHECK-NEXT: bb.4.bb3:1404  ; CHECK-NEXT:   G_BR %bb.21405  ; CHECK-NEXT: {{  $}}1406  ; CHECK-NEXT: bb.5.bb4:1407  ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp1408  ; CHECK-NEXT:   $w0 = COPY [[PHI]](s32)1409  ; CHECK-NEXT:   BL @ham, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $w0, implicit-def $x01410  ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp1411  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(p0) = COPY $x01412bb:1413  br label %bb11414 1415bb1:                                              ; preds = %bb3, %bb2, %bb1, %bb1416  %tmp = phi i32 [undef, %bb ], [ 4, %bb2 ], [ 3, %bb3 ], [ 1, %bb1]1417  switch i32 undef, label %bb4 [1418    i32 305, label %bb11419    i32 497, label %bb31420    i32 307, label %bb21421  ]1422 1423bb2:                                              ; preds = %bb11424  br label %bb11425 1426bb3:                                              ; preds = %bb11427  br label %bb11428 1429bb4:                                              ; preds = %bb11430  %tmp5 = tail call ptr @ham(i32 %tmp)1431  unreachable1432}1433 1434declare ptr @ham(i32)1435 1436define internal void @bar() unnamed_addr #1 {1437  ; CHECK-LABEL: name: bar1438  ; CHECK: bb.1 (%ir-block.0):1439    unreachable1440}1441 1442define i1 @i1_value_cmp_is_signed(i1) {1443  ; CHECK-LABEL: name: i1_value_cmp_is_signed1444  ; CHECK: bb.1.Entry:1445  ; CHECK-NEXT:   liveins: $w01446  ; CHECK-NEXT: {{  $}}1447  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s32) = COPY $w01448  ; CHECK-NEXT:   [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY]](s32)1449  ; CHECK-NEXT:   [[ASSERT_ZEXT:%[0-9]+]]:_(s8) = G_ASSERT_ZEXT [[TRUNC]], 11450  ; CHECK-NEXT:   [[TRUNC1:%[0-9]+]]:_(s1) = G_TRUNC [[ASSERT_ZEXT]](s8)1451  ; CHECK-NEXT:   [[C:%[0-9]+]]:_(s1) = G_CONSTANT i1 true1452  ; CHECK-NEXT:   [[C1:%[0-9]+]]:_(s1) = G_CONSTANT i1 false1453  ; CHECK-NEXT:   [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(sle), [[TRUNC1]](s1), [[C1]]1454  ; CHECK-NEXT:   G_BRCOND [[ICMP]](s1), %bb.31455  ; CHECK-NEXT:   G_BR %bb.21456  ; CHECK-NEXT: {{  $}}1457  ; CHECK-NEXT: bb.2.BadValue:1458  ; CHECK-NEXT:   successors:1459  ; CHECK-NEXT: {{  $}}1460  ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp1461  ; CHECK-NEXT:   BL @bar, csr_aarch64_aapcs, implicit-def $lr, implicit $sp1462  ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp1463  ; CHECK-NEXT: {{  $}}1464  ; CHECK-NEXT: bb.3.OkValue:1465  ; CHECK-NEXT:   [[ZEXT:%[0-9]+]]:_(s8) = G_ZEXT [[TRUNC1]](s1)1466  ; CHECK-NEXT:   [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[ZEXT]](s8)1467  ; CHECK-NEXT:   $w0 = COPY [[ANYEXT]](s32)1468  ; CHECK-NEXT:   RET_ReallyLR implicit $w01469Entry:1470  switch i1 %0, label %BadValue [1471    i1 false, label %OkValue1472    i1 true, label %OkValue1473  ]1474 1475BadValue:1476  call fastcc void @bar()1477  unreachable1478 1479OkValue:1480  ret i1 %01481}1482 1483