133 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -start-before=if-converter -stop-after=if-converter -o - %s \3# RUN: -verify-machineinstrs | FileCheck %s4--- |5 ; ModuleID = 'reduced.ll'6 source_filename = "reduced.ll"7 target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"8 target triple = "armv4t-unknown-linux-gnueabi"9 10 define void @tusb1210_chg_det_work(i1 %tobool.not) {11 entry:12 br i1 %tobool.not, label %if.else, label %if.then13 14 if.then: ; preds = %entry15 callbr void asm sideeffect ".word b, ${1:l}, ${0:c}\0A\09", "i,!i"(ptr null)16 to label %if.end [label %if.end.sink.split]17 18 if.else: ; preds = %entry19 callbr void asm sideeffect ".word b, ${1:l}, ${0:c}\0A\09", "i,!i"(ptr null)20 to label %if.end [label %if.end.sink.split]21 22 if.end.sink.split: ; preds = %if.else, %if.then23 %.sink = phi i32 [ 1, %if.then ], [ 0, %if.else ]24 store i32 %.sink, ptr null, align 425 br label %if.end26 27 if.end: ; preds = %if.end.sink.split, %if.else, %if.then28 ret void29 }30 31...32---33name: tusb1210_chg_det_work34alignment: 435exposesReturnsTwice: false36legalized: false37regBankSelected: false38selected: false39failedISel: false40tracksRegLiveness: true41hasWinCFI: false42callsEHReturn: false43callsUnwindInit: false44hasEHContTarget: false45hasEHScopes: false46hasEHFunclets: false47debugInstrRef: false48failsVerification: false49tracksDebugUserValues: true50registers: []51liveins:52 - { reg: '$r0', virtual-reg: '' }53frameInfo:54 isFrameAddressTaken: false55 isReturnAddressTaken: false56 hasStackMap: false57 hasPatchPoint: false58 stackSize: 059 offsetAdjustment: 060 maxAlignment: 161 adjustsStack: false62 hasCalls: false63 stackProtector: ''64 functionContext: ''65 maxCallFrameSize: 066 cvBytesOfCalleeSavedRegisters: 067 hasOpaqueSPAdjustment: false68 hasVAStart: false69 hasMustTailInVarArgFunc: false70 hasTailCall: false71 localFrameSize: 072 savePoint: []73 restorePoint: []74fixedStack: []75stack: []76callSites: []77debugValueSubstitutions: []78constants: []79machineFunctionInfo: {}80body: |81 ; CHECK-LABEL: name: tusb1210_chg_det_work82 ; CHECK: bb.0.entry:83 ; CHECK-NEXT: successors: %bb.1(0x80000000), %bb.2(0x80000000)84 ; CHECK-NEXT: liveins: $r085 ; CHECK-NEXT: {{ $}}86 ; CHECK-NEXT: TSTri killed renamable $r0, 1, 14 /* CC::al */, $noreg, implicit-def $cpsr87 ; CHECK-NEXT: renamable $r0 = MOVi 0, 1 /* CC::ne */, $cpsr, $noreg88 ; CHECK-NEXT: renamable $r0 = MOVi 1, 0 /* CC::eq */, killed $cpsr, $noreg, implicit killed $r089 ; CHECK-NEXT: INLINEASM_BR &".word b, ${1:l}, ${0:c}\0A\09", 9 /* sideeffect mayload attdialect */, 13 /* imm */, 0, 13 /* imm */, %bb.190 ; CHECK-NEXT: B %bb.291 ; CHECK-NEXT: {{ $}}92 ; CHECK-NEXT: bb.1.if.end.sink.split (machine-block-address-taken, inlineasm-br-indirect-target):93 ; CHECK-NEXT: successors: %bb.2(0x80000000)94 ; CHECK-NEXT: liveins: $r095 ; CHECK-NEXT: {{ $}}96 ; CHECK-NEXT: renamable $r1 = MOVi 0, 14 /* CC::al */, $noreg, $noreg97 ; CHECK-NEXT: STRi12 killed renamable $r0, killed renamable $r1, 0, 14 /* CC::al */, $noreg :: (store (s32) into `ptr null`)98 ; CHECK-NEXT: {{ $}}99 ; CHECK-NEXT: bb.2.if.end:100 ; CHECK-NEXT: BX_RET 14 /* CC::al */, $noreg101 bb.0.entry:102 successors: %bb.4(0x40000000), %bb.1(0x40000000)103 liveins: $r0104 105 TSTri killed renamable $r0, 1, 14 /* CC::al */, $noreg, implicit-def $cpsr106 Bcc %bb.4, 1 /* CC::ne */, killed $cpsr107 108 bb.1.if.then:109 successors: %bb.3(0x80000000), %bb.2(0x00000000)110 111 renamable $r0 = MOVi 1, 14 /* CC::al */, $noreg, $noreg112 INLINEASM_BR &".word b, ${1:l}, ${0:c}\0A\09", 9 /* sideeffect mayload attdialect */, 13 /* imm */, 0, 13 /* imm */, %bb.2113 B %bb.3114 115 bb.2.if.end.sink.split (machine-block-address-taken, inlineasm-br-indirect-target):116 successors: %bb.3(0x80000000)117 liveins: $r0118 119 renamable $r1 = MOVi 0, 14 /* CC::al */, $noreg, $noreg120 STRi12 killed renamable $r0, killed renamable $r1, 0, 14 /* CC::al */, $noreg :: (store (s32) into `ptr null`)121 122 bb.3.if.end:123 BX_RET 14 /* CC::al */, $noreg124 125 bb.4.if.else:126 successors: %bb.3(0x80000000), %bb.2(0x00000000)127 128 renamable $r0 = MOVi 0, 14 /* CC::al */, $noreg, $noreg129 INLINEASM_BR &".word b, ${1:l}, ${0:c}\0A\09", 9 /* sideeffect mayload attdialect */, 13 /* imm */, 0, 13 /* imm */, %bb.2130 B %bb.3131 132...133