82 lines · plain
1# RUN: llc -mtriple=hexagon -run-pass early-if-predicator %s -o - -verify-machineinstrs | FileCheck %s2 3# Check that the store gets predicated4# CHECK: S4_storeirit_io %2, %0, 0, 15 6--- |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"8 9 define void @if-cvt(ptr %p, i1 %c) {10 entry:11 br i1 %c, label %if, label %endif12 13 if: ; preds = %entry14 store i32 1, ptr %p, align 415 br label %endif16 17 endif: ; preds = %if, %entry18 ret void19 }20 21...22---23name: if-cvt24alignment: 1625exposesReturnsTwice: false26legalized: false27regBankSelected: false28selected: false29failedISel: false30tracksRegLiveness: true31hasWinCFI: false32registers:33 - { id: 0, class: intregs, preferred-register: '' }34 - { id: 1, class: intregs, preferred-register: '' }35 - { id: 2, class: predregs, preferred-register: '' }36liveins:37 - { reg: '$r0', virtual-reg: '%0' }38 - { reg: '$r1', virtual-reg: '%1' }39frameInfo:40 isFrameAddressTaken: false41 isReturnAddressTaken: false42 hasStackMap: false43 hasPatchPoint: false44 stackSize: 045 offsetAdjustment: 046 maxAlignment: 047 adjustsStack: false48 hasCalls: true49 stackProtector: ''50 maxCallFrameSize: 429496729551 cvBytesOfCalleeSavedRegisters: 052 hasOpaqueSPAdjustment: false53 hasVAStart: false54 hasMustTailInVarArgFunc: false55 localFrameSize: 056 savePoint: []57 restorePoint: []58fixedStack: []59stack: []60callSites: []61constants: []62machineFunctionInfo: {}63body: |64 bb.0.entry:65 successors: %bb.1(0x40000000), %bb.2(0x40000000)66 liveins: $r0, $r167 68 %1:intregs = COPY $r169 %2:predregs = S2_tstbit_i %1, 070 %0:intregs = COPY $r071 J2_jumpf %2, %bb.2, implicit-def dead $pc72 J2_jump %bb.1, implicit-def dead $pc73 74 bb.1.if:75 successors: %bb.2(0x80000000)76 S4_storeiri_io %0, 0, 1 :: (store (s32) into %ir.p)77 78 bb.2.endif:79 PS_jmpret $r31, implicit-def dead $pc80 81...82