1 # RUN: llc -march=mipsel -mcpu=mips32r6 -start-after=block-placement %s -o - | FileCheck %s
3 # Check that empty blocks in the cfg don't cause the mips hazard scheduler to
4 # crash and that the nop is inserted correctly.
16 ; ModuleID = '<stdin>'
17 source_filename = "<stdin>"
18 target datalayout = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
26 %call = tail call i32 @k()
27 %cmp = icmp sgt i32 %call, 0
28 br i1 %cmp, label %if.then, label %if.end
30 if.then: ; preds = %entry
31 tail call void @f(i32 signext 2)
34 if.end: ; preds = %if.then, %entry
41 exposesReturnsTwice: false
43 regBankSelected: false
45 tracksRegLiveness: true
47 isFrameAddressTaken: false
48 isReturnAddressTaken: false
57 hasOpaqueSPAdjustment: false
59 hasMustTailInVarArgFunc: false
61 - { id: 0, type: spill-slot, offset: -4, size: 4, alignment: 4, callee-saved-register: '$ra' }
64 successors: %bb.1.if.then(0x50000000), %bb.4.if.end(0x30000000)
68 CFI_INSTRUCTION def_cfa_offset 24
69 SW killed $ra, $sp, 20 :: (store 4 into %stack.0)
70 CFI_INSTRUCTION offset $ra_64, -4
71 JAL @k, csr_o32_fp64, implicit-def dead $ra, implicit-def $sp, implicit-def $v0
72 BLEZ $v0, %bb.4.if.end, implicit-def $at
75 successors: %bb.2.if.then(0x80000000)
78 successors: %bb.3.if.then(0x80000000)
81 successors: %bb.4.if.end(0x80000000)
84 JAL @f, csr_o32_fp64, implicit-def dead $ra, implicit killed $a0, implicit-def $sp
87 $ra = LW $sp, 20 :: (load 4 from %stack.0)
89 PseudoReturn undef $ra