brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 7bad3ff Raw
60 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# That that tail calls are checked when using indirect jump 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...17---18name:            fooTail19alignment:       420exposesReturnsTwice: false21legalized:       false22regBankSelected: false23selected:        false24tracksRegLiveness: true25registers:26  - { id: 0, class: gpr32, preferred-register: '' }27  - { id: 1, class: gpr32, preferred-register: '' }28liveins:29  - { reg: '$a0', virtual-reg: '%0' }30frameInfo:31  isFrameAddressTaken: false32  isReturnAddressTaken: false33  hasStackMap:     false34  hasPatchPoint:   false35  stackSize:       036  offsetAdjustment: 037  maxAlignment:    138  adjustsStack:    false39  hasCalls:        false40  stackProtector:  ''41  maxCallFrameSize: 429496729542  hasOpaqueSPAdjustment: false43  hasVAStart:      false44  hasMustTailInVarArgFunc: false45  savePoint:       []46  restorePoint:    []47fixedStack:48stack:49constants:50body:             |51  bb.0.entry:52    liveins: $a053 54    %0:gpr32 = COPY $a055    %1:gpr32 = ADDiu $zero, 1456    $a0 = COPY %157    TAILCALLREG %0, csr_o32, implicit-def dead $at, implicit $a058 59...60