59 lines · plain
1# RUN: not --crash llc -mtriple=mips-mti-linux-gnu -mcpu=mips32r2 %s \2# RUN: -start-after=finalize-isel -stop-after=finalize-isel \3# RUN: -verify-machineinstrs -mattr=+use-indirect-jump-hazard -o - 2>&1 \4# RUN: | FileCheck %s5 6# Test that calls are checked when using indirect jumps guards (hazard variant).7 8# CHECK: Bad machine code: invalid instruction when using jump guards!9--- |10 define i32 @fooTail(ptr nocapture %f1) {11 entry:12 %0 = tail call i32 %f1(i32 14)13 ret i32 %014 }15...16---17name: fooTail18alignment: 419exposesReturnsTwice: false20legalized: false21regBankSelected: false22selected: false23tracksRegLiveness: true24registers:25 - { id: 0, class: gpr32, preferred-register: '' }26 - { id: 1, class: gpr32, preferred-register: '' }27liveins:28 - { reg: '$a0', virtual-reg: '%0' }29frameInfo:30 isFrameAddressTaken: false31 isReturnAddressTaken: false32 hasStackMap: false33 hasPatchPoint: false34 stackSize: 035 offsetAdjustment: 036 maxAlignment: 137 adjustsStack: false38 hasCalls: false39 stackProtector: ''40 maxCallFrameSize: 429496729541 hasOpaqueSPAdjustment: false42 hasVAStart: false43 hasMustTailInVarArgFunc: false44 savePoint: []45 restorePoint: []46fixedStack:47stack:48constants:49body: |50 bb.0.entry:51 liveins: $a052 53 %0:gpr32 = COPY $a054 %1:gpr32 = ADDiu $zero, 1455 $a0 = COPY %156 TAILCALLREG %0, csr_o32, implicit-def dead $at, implicit $a057 58...59