1 # RUN: llc -march=hexagon -run-pass early-if-predicator %s -o - -verify-machineinstrs | FileCheck %s
3 # Check that the store gets predicated
4 # CHECK: S4_storeirit_io %2, %0, 0, 1
7 target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048"
9 define void @if-cvt(i32* %p, i1 %c) {
11 br i1 %c, label %if, label %endif
14 store i32 1, i32* %p, align 4
17 endif: ; preds = %if, %entry
25 exposesReturnsTwice: false
27 regBankSelected: false
30 tracksRegLiveness: true
33 - { id: 0, class: intregs, preferred-register: '' }
34 - { id: 1, class: intregs, preferred-register: '' }
35 - { id: 2, class: predregs, preferred-register: '' }
37 - { reg: '$r0', virtual-reg: '%0' }
38 - { reg: '$r1', virtual-reg: '%1' }
40 isFrameAddressTaken: false
41 isReturnAddressTaken: false
50 maxCallFrameSize: 4294967295
51 cvBytesOfCalleeSavedRegisters: 0
52 hasOpaqueSPAdjustment: false
54 hasMustTailInVarArgFunc: false
62 machineFunctionInfo: {}
65 successors: %bb.1(0x40000000), %bb.2(0x40000000)
69 %2:predregs = S2_tstbit_i %1, 0
71 J2_jumpf %2, %bb.2, implicit-def dead $pc
72 J2_jump %bb.1, implicit-def dead $pc
75 successors: %bb.2(0x80000000)
76 S4_storeiri_io %0, 0, 1 :: (store 4 into %ir.p)
79 PS_jmpret $r31, implicit-def dead $pc