brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · 9a7ac0a Raw
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