91 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -filetype=obj -o /dev/null < %s3; RUN: llc -filetype=asm %s -o - | FileCheck %s4 5; ModuleID = 'bugpoint-reduced-simplified.bc'6source_filename = "bugpoint-output-39ed676.bc"7target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"8target triple = "thumbv8m.base-arm-none-eabi"9 10@crc32_tab = external unnamed_addr global [256 x i32], align 411@g_566 = external global ptr, align 412 13define void @main() {14; CHECK-LABEL: main:15; CHECK: @ %bb.0: @ %entry16; CHECK-NEXT: movw r0, :lower16:g_56617; CHECK-NEXT: movt r0, :upper16:g_56618; CHECK-NEXT: ldr r0, [r0]19; CHECK-NEXT: movs r0, #020; CHECK-NEXT: cmp r0, #021; CHECK-NEXT: beq .LBB0_722; CHECK-NEXT: @ %bb.1: @ %for.cond7.preheader.i.lr.ph.i.i23; CHECK-NEXT: bne .LBB0_724; CHECK-NEXT: .LBB0_2: @ %for.cond14.preheader.us.i.i.i25; CHECK-NEXT: @ =>This Inner Loop Header: Depth=126; CHECK-NEXT: cbnz r0, .LBB0_627; CHECK-NEXT: @ %bb.3: @ %for.cond14.preheader.us.i.i.i28; CHECK-NEXT: @ in Loop: Header=BB0_2 Depth=129; CHECK-NEXT: lsls r1, r0, #230; CHECK-NEXT: adr r2, .LJTI0_031; CHECK-NEXT: adds r1, r2, r132; CHECK-NEXT: mov pc, r133; CHECK-NEXT: @ %bb.4:34; CHECK-NEXT: .p2align 235; CHECK-NEXT: .LJTI0_0:36; CHECK-NEXT: b.w .LBB0_537; CHECK-NEXT: b.w .LBB0_638; CHECK-NEXT: b.w .LBB0_839; CHECK-NEXT: b.w .LBB0_740; CHECK-NEXT: b.w .LBB0_641; CHECK-NEXT: b.w .LBB0_642; CHECK-NEXT: b.w .LBB0_643; CHECK-NEXT: b.w .LBB0_644; CHECK-NEXT: b.w .LBB0_645; CHECK-NEXT: b.w .LBB0_646; CHECK-NEXT: b.w .LBB0_647; CHECK-NEXT: b.w .LBB0_548; CHECK-NEXT: .LBB0_5: @ %for.cond14.preheader.us.i.i.i49; CHECK-NEXT: @ in Loop: Header=BB0_2 Depth=150; CHECK-NEXT: b .LBB0_251; CHECK-NEXT: .LBB0_6: @ %func_1.exit.loopexit52; CHECK-NEXT: .LBB0_7: @ %for.end476.i.i.i.loopexit53; CHECK-NEXT: .LBB0_8: @ %lbl_1394.i.i.i.loopexit54entry:55 %0 = load volatile ptr, ptr @g_566, align 456 br label %func_16.exit.i.i.i57 58lbl_1394.i.i.i.loopexit: ; preds = %for.cond14.preheader.us.i.i.i59 unreachable60 61func_16.exit.i.i.i: ; preds = %entry62 br i1 undef, label %for.cond7.preheader.i.lr.ph.i.i, label %for.end476.i.i.i.loopexit63 64for.cond7.preheader.i.lr.ph.i.i: ; preds = %func_16.exit.i.i.i65 br i1 undef, label %for.end476.i.i.i.loopexit, label %for.cond7.preheader.i.i.preheader.i66 67for.cond7.preheader.i.i.preheader.i: ; preds = %for.cond7.preheader.i.lr.ph.i.i68 br label %for.cond14.preheader.us.i.i.i69 70for.cond7.preheader.i.us.i.i: ; preds = %for.cond7.preheader.i.lr.ph.i.i71 unreachable72 73for.cond14.preheader.us.i.i.i: ; preds = %for.inc459.us.i.i.i, %for.cond7.preheader.i.i.preheader.i74 switch i4 undef, label %func_1.exit.loopexit [75 i4 0, label %for.inc459.us.i.i.i76 i4 -5, label %for.inc459.us.i.i.i77 i4 2, label %lbl_1394.i.i.i.loopexit78 i4 3, label %for.end476.i.i.i.loopexit79 ]80 81for.inc459.us.i.i.i: ; preds = %for.cond14.preheader.us.i.i.i, %for.cond14.preheader.us.i.i.i82 br label %for.cond14.preheader.us.i.i.i83 84for.end476.i.i.i.loopexit: ; preds = %for.cond14.preheader.us.i.i.i85 unreachable86 87func_1.exit.loopexit: ; preds = %for.cond14.preheader.us.i.i.i88 %arrayidx.i63.i.i5252 = getelementptr inbounds [256 x i32], ptr @crc32_tab, i32 0, i32 undef89 unreachable90}91